js 一些小知识

1:得到下拉列表的选项值

var v = document.getElementsById("groupid").options[document.getElementsById("groupid").selectedIndex].value 

 2:字符串的替换

'2013-12-15 00:00'.replace(/-/ig,'/') 会替换所有的
'2013-12-15 00:00'.replace('-','/') 只替换第一个

 补充:js正则表达式的模式

/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
i 模式中的字符将同时匹配大小写字母
m 字符串视为多行
s 将字符串视为单行,换行符作为普通字符
x 将模式中的空白忽略
e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。
A 强制仅从目标字符串的开头开始匹配
D 模式中的 $ 元字符仅匹配目标字符串的结尾
U 匹配最近的字符串
u 模式字符串被当成 UTF-8

 3:字符串转数字(parseInt()和parseFloat()两个转换函数

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN        其他类型返回的都是NaN(Not a Number)

 4:面页自动运行js

var int=self.setInterval("autorefresh()",10000)    //每隔10秒运行autorefresh方法
window.clearInterval(int)                                    //取消自动运行

 5:得到对象中的属性与值

for(i in obj){
alert(i) //属性名
alert(obj[i]) //属性值
}

 6:js得到窗口大小

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>
<!--在javascript中得到当前窗口的高和宽 -->
<body><SCRIPT LANGUAGE="JavaScript"> 
var  s = ""; 
s += "\r\n网页可见区域宽:"+ document.body.clientWidth; 
s += "\r\n网页可见区域高:"+ document.body.clientHeight; 
s += "\r\n网页可见区域宽:"+ document.body.offsetWidth  +" (包括边线和滚动条的宽)"; 
s += "\r\n网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)"; 
s += "\r\n网页正文全文宽:"+ document.body.scrollWidth; 
s += "\r\n网页正文全文高:"+ document.body.scrollHeight; 
s += "\r\n网页被卷去的高:"+ document.body.scrollTop; 
s += "\r\n网页被卷去的左:"+ document.body.scrollLeft; 
s += "\r\n网页正文部分上:"+ window.screenTop; 
s += "\r\n网页正文部分左:"+ window.screenLeft; 
s += "\r\n屏幕分辨率的高:"+ window.screen.height; 
s += "\r\n屏幕分辨率的宽:"+ window.screen.width; 
s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight; 
s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth; 
s += "\r\n你的屏幕设置是 "+ window.screen.colorDepth +" 位彩色"; 
s += "\r\n你的屏幕设置 "+ window.screen.deviceXDPI +" 像素/英寸"; 
alert(s); 
</SCRIPT>
</HTML>

 7:

js/jq修改或获取CSS属性,DOM属性

CSS

js获取属性

document.getElementById(id).currentStyle.属性;

js修改属性

document.getElementById(id).style.属性  =  值;

DOM(例href属性)

JS获取href

var  imgUrl  =  document.getElementById(id).href;

JQ获取href

$(document).ready(function(){
 $(
"a").hover(function(){
  
var imgUrl = $(this).attr("href");    alert(imgUrl);
 });   
});

 

8:使用a标签不提交

a href="javascript:void(0);" onclick="js_method()"
a href="javascript:;" onclick="js_method()"
a href="#" onclick="js_method();return false;"

 

9:三元运算

 

(b == 5) ? a="true" : a="false";

 10:处理一些特殊字符

采用

Java代码     收藏代码
  1. ServletActionContext.getResponse().getWriter()  

向前台写信息的时候,经常会出现unterminated string literal错误:未结束的字符串常量,很可能是由于字符串中存在换行符导致的。

解决办法:

在将result写到前台之前,将字符串中的换行的特殊符号转义掉,

Java代码     收藏代码
  1. PrintWriter pw = ServletActionContext.getResponse().getWriter();  
  2. result = result.replace("\n\r""<br>&nbsp;&nbsp;");  
  3. result = result.replace("\r\n""<br>&nbsp;&nbsp;");  
  4. result = result.replace("\t""&nbsp;&nbsp;&nbsp;&nbsp;");  
  5. result = result.replace(" ""&nbsp;");  
  6.   
  7. result = result.replace("\"""\\" + "\"");  
  8. pw.print(result);  
11:判断对象类型
typeof msgObj !="object"
 转的( http://blog.csdn.net/cs_wuxiang/article/details/7724133
1、typeof 形如 var x = "xx"; typeof x == 'string'
返回类型有:'undefined' “string” 'number' 'boolean' 'function' 'object'
缺点:对于object类型不能细分是什么类型
优点:对空null的判断 'undefined'的应用
2、instanceof 形如 var d = new String('test'); d instanceof String ==true 返回的类型有:String Number Boolean Function Object Array Date
优点:能区分出更细的类型如 Date Array 如 var num = 3; num instanceof Number 能返回具体的类型
缺点:直变量不能区分 必须采用new 的对象
3、constructor 形如:var x = []; x.constructor==Array
优点:可以返回继承的类型
缺点: 不能对象的细分,如继承 必须手动修正
4、Object.prototype.toString.call();
优点:通用,返回"[object
String]" 具体object的类型
缺点:不能返回继承的类型
 12:判断空值
function isNull(str){
var variable='';
for(var key in str){
var a=str[key];
if(variable ==''){
if (a !== null || a !== undefined || a !== '') {
  variable = a;
  }
}else{
if (a !== null || a !== undefined || a !== '') {
  variable = variable+"--"+a;
  }}
}
return variable;

}
 13:自动调用事件
var Btn=document.getElementById("Button1");
Btn.click();
$('#submit_dom').click();
 14:检测是否为非数值
isNaN()
 15:判断 undefined
if (typeof(reValue) == "undefined") { 
   alert("undefined"); 
}  
 16:js调用url
js脚本:document.location.href = "dsm.do?method=showSearchList&searchKey="+searchKey;

在action里面用request.getParameter("searchKey")为乱码,将js改为如下可解决乱码:

document.location.href = "dsm.do?method=showSearchList&searchKey="+encodeURI(searchKey);
 

你可能感兴趣的:(js)