日期:2014-05-16  浏览次数:20507 次

js、jquery一些常用知识

1、判断当前浏览器:

var str = window.navigator.userAgent;
???if(str.indexOf("Firefox")!=-1){//firefox
????window.location.href = url;

?? }

?if(str.indexOf("MSIE")!=-1){//IE
????window.location.href = url;

?? }

?2. jquery 操作select

获取select 选中的 text:$("#ddlRegType").find("option:selected").text();
获取select选中的 value:$("#ddlRegType ").val();
获取select选中的索引:$("#ddlRegType ").get(0).selectedIndex;
设置select 选中的索引:$("#ddlRegType ").get(0).selectedIndex=index;//index为索引值
设置select 选中的value:$("#ddlRegType ").attr("value","Normal“);
$("#ddlRegType ").val("Normal");
$("#ddlRegType ").get(0).value = value;

设置select 选中的text:
var count=$("#ddlRegType option").length;
for(var i=0;i<count;i++) {
????????? if($("#ddlRegType ").get(0).options[i].text == text) {
??????????? $("#ddlRegType ").get(0).options[i].selected = true;
??????????? break;
??????? }
??? }
$("#select_id option[text='jQuery']").attr("selected", true);
$("#select_id option[value='valueabc']").attr("selected", true);

设置select option项:
?$("#select_id").append("<option value='Value'>Text</option>");? //添加一项option
?$("#select_id").prepend("<option value='0'>请选择</option>"); //在前面插入一项option
?$("#select_id option:last").remove(); //删除索引值最大的Option
?$("#select_id option[index='0']").remove();//删除索引值为0的Option
?$("#select_id option[value='3']").remove(); //删除值为3的Option
?$("#select_id option[text='4']").remove(); //删除TEXT值为4的Option

清空 Select:
$("#ddlRegType ").empty();

3.jquery ajax处理方式

$.ajax({
????type:'POST',
????
url:url,
????beforeSend:function(){//发送请求之前的动作,比如页面遮罩。。
?????
????},
????error:function(){//请求失败。。
?????
????},
????success:function(data){//请求成功,但不一定是业务成功
?????var doc = $.trim(data);
?????if(doc){
?? ?????var contents = eval("("+doc+")");
?? ?????var html = "";
?? ?????$.each(contents.root,function(idx,content){//解析json格式的字符串
?????????html += "<li><a href='news.do?contentId="+content.id+"'>."+content.title+" ...</a>"+content.create_date+"</li>";?//...to do
????????});
?????}
???});

4.js转码方式区分

?encodeURI: 该函数对传入字符串中的所有非(基本字符、Mark字符和保留字符)进行转义编码(escaping)。所有的需要转义的字符都按照UTF-8编码转化成为一个、两个或者三个字节的十六进制转义字符(%xx)。例如,字符空格" "转换成为"%20"。在这种编码模式下面,需要编码的ASCII字符用一个字节转义字符代替,在\u0080和\u007ff之间的字符用两个字节转义字符代替,其他16为Unicode字符用三个字节转义字符代替
encodeURIComponent: 该函数处理方式和encodeURI只有一个不同点,那就是对于保留字符同样做转义编码。例如,字符":"被转义字符"%3A"代替
之所以有上面两个不同的函数,是因为我们在写JS代码的时候对URI进行两种不同的编码处理需求。encodeURI可以用来对完整的URI字符串进行编码处理。而encodeURIComponent可以对URI中一个部分进行编码,从而让这一部分可以包含一些URI保留字符.