JS-Jquery 常用功能

来源:互联网 发布:mac os 10.11 dmg下载 编辑:程序博客网 时间:2024/05/18 02:42

新增、删除属性

$("#id").addClass('classname')$("#id").removeClass('classname')


获取值,得到值,修改值,清空值

$("#input").val()获取img标签的src  并且赋值获取:$("#code_img").attr('src'); 或者 $("#code_img").prop('src');var newsrc = $("#code_img").attr('src')+'?time='+Math.random()赋值: $("#code_img").attr('src','xxxxxxxxxx');  或者 $("#code_img").prop('src','xxxxxxxx');判断多选框是否被选中:if($('input[type="checkbox"]').prop("checked")==true){     //do something  }


获取自定义属性

$('#code').getAttribute('mylink')

事件

.click,onclick()

$("button#demo").click()


click 与onclick的区别:

$(function(){$("#btn3").click(function(){alert("second");});});function change(){alert("first");} 

然后点击:
<button id="btn3"onclick="change()">dd</button>
先弹出first,然后再弹出second



数据转化成对象

json_encode的数据到模板里用js先 eval()转换成对象

ajax获取的html字符串,用$(data)即可转化成对象  $(data).html 即可获取data里面的html内容



ajax局部刷新页面js失效

比如按钮的click事件,绑定事件用 on    因为局部刷新以后事件要重新绑定,用on 即可  具体的参数请自行百度

$('#id').on('click', function() {         // function code});


JS序列化表单 中文乱码

var form = $('#add_menu_form').serialize(); // 表单里有中文 serialize()自动调用了encodeURIComponent方法将数据编码了 var data = decodeURIComponent(form,true); // 解码中文  console.log(data);




遍历

$('#id').each(function(){alert($(this).text())})  //进行DOM遍历,比如遍历一个ul 显示里面的li的文本内容

 

$.each(data,function(key,val){alert(val.属性名)})//遍历数据,比如json对象,应该alert(val.属性名)



给单选按钮追加选中

if (if_show) {$("input:radio[name='if_show']").eq(0).attr("checked",'checked');}else{$("input:radio[name='if_show']").eq(1).attr("checked",'checked');}


定时器

//定时器,2秒钟后触发按钮的点击事件setTimeout(function (){$('#button').click();$('#showmessage').trigger("click");},2000);

给select 下拉列表追加默认选中

$("select[name='xxx']").find("option[value='"+pid+"']").attr("selected",true);//pid 是变量,这里拼接一下$("#id").find("option[text='xxx']").prop("selected",true);//attr 也可以

var options=$(“#id option:selected”); //获取选中的项这个对象alert(options.val()); //拿到选中项的值alert(options.text()); //拿到选中项的文本


js调用函数的返回值取不到的问题:

简单的例子:

function check_name(){var ck_res=false; //定义一个变量$.ajax({type:'get',async:false,success:function(msg){if(msg){ ck_res = true;   //更改变量值}else{ck_res = false; //更改变量值}}});return ck_res; //返回变量值}var res = check_name() 这个时候res的值就是 函数的返回值
function check_name(){$.ajax({ type:'get', async:false, success:function(msg){  if(msg){   return true;  }else{  return false;  } }});}var res = check_name() 这个时候 res就是未定义  

因为是ajax返回了以后并没有变量接收,返回值只是存在于check_name函数内部,如果 var ajax_return=$.ajax({......}) 这样 ajax_return就是一个对象,然后在check_name()里再把这个对象return,最后res有值,不过也是个对象,里面的responseText是文本内容,不推荐这种写法,只是说明为什么在ajax里直接return 然后再调用函数却接收不到值 。第一种在方法里先声明变量,在ajax里改变以后,在方法里再return 变量 这种才是常规的写法。


Jquery判断元素是否隐藏

if($("#test").is(":hidden")){       $("#test").show();    //如果元素为隐藏,则将它显现}else{      $("#test").hide();     //如果元素为显现,则将其隐藏}


有用的话点个赞,谢谢

原创粉丝点击