js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)

来源:互联网 发布:南风知我意七微书包网1 编辑:程序博客网 时间:2024/05/17 21:47
<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.0//EN"   "http://www.w3.org/TR/REC-html140/strict.dtd">  <html>  <head>      <meta http-equiv="content-type" content="text/html; charset=utf-8"/>      <title>Sample Page!</title>      <script type="text/javascript" src="jquery-1.9.1.min.js"></script>    <script language="JavaScript" type="text/javascript"><!--     function TestEvent(){     document.MyForm.text1.removeAttribute("disabled"); //移除文本框disable属性.    document.MyForm.text1.value="enable";//改变文本框中的文字.  }  //给ID为key的a标签 添加 title属性并赋值为"测试title" 摘取天上星:http://blog.csdn.net/zqtsxfunction AddTitle(){    document.getElementById('key').setAttribute("title","测试title"); }//给ID为key的a标签 删除 title属性function DelTitle(){    document.getElementById('key').removeAttribute("title");}//js获取title属性的值function GetTitle(){    var value=document.getElementById('key').getAttribute("title");    alert('title的属性值为:'+value);}//jq方式删除、设置元素属性,为了更加形象些对比,这里采用嵌入式方式,没有进行js html分离 摘取天上星:http://blog.csdn.net/zqtsxfunction a(){    alert('测试jq添加onclick属性');}//jq方式添加onclick属性function jqAddOnclick(){    $("#key").attr("onclick","a();");}//jq方式取得onclick属性值function jqGetOnclick(){    var value=$("#key").attr("onclick");    alert('onclick属性值为:'+value);}//jq方式删除onclick属性function jqDelOnclick(){    $("#key").removeAttr("onclick");}// --></script>  </head>  <body>      <a id="key" href="#123">add title</a>    <form name="MyForm" action="">      <input type="text" name="text1" value="disabled" disabled="disabled"/>      <input type="button" name="MyButton" value="js移除文本框disabled属性" onclick="TestEvent()"/>      <input type="button" name="addTitle" onclick="AddTitle();" value="js添加title属性">    <input type="button" name="getTitle" onclick="GetTitle();" value="js获取title属性">    <input type="button" name="delTitle" onclick="DelTitle();" value="js删除title属性">    <input type="button" name="jqadd" onclick="jqAddOnclick();" value="jq添加onclick属性">    <input type="button" name="jqget" onclick="jqGetOnclick();" value="jq获取onclick属性">    <input type="button" name="jqdel" onclick="jqDelOnclick();" value="jq删除onclick属性">    </form>  </body>  </html>  

关于jQuery1.9.1针对checkbox属性设置的一些调整差异(摘取天上星:http://blog.csdn.net/zqtsx):

在jquery 1.8.x中的版本,我们对于checkbox的选中与不选中操作如下:

判断是否选中

$('#checkbox').prop('checked')

设置选中与不选中状态:

$('#checkbox').attr('checked',true)

$('#checkbox').attr('checked',false)

但此方法在jquery1.9.1中,有些处理不一样

IE10,Chrome,FF中,对于选中状态,第一次$('#checkbox').attr('checked',true)可以实现

但是当通过代码清除选中,下次再通过代码 $('#checkbox').attr('checked',true) 去选中时

虽然代码中有checked='checked',但是画面表现都没有打勾。

IE8,IE6下无此问题。

后来调查了相关的资料,发现现在attr('checked',true)都换成prop('checked',true)

下面给出个JQ1.8.x以后 的全选反选的JQ例子

JS代码部分如下

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
  1. $(function(){  
  2.   $("#select_yes").click(function(){  
  3.     $("input[name=id]").each(function(){  
  4.       $(this).prop("checked",true);  
  5.     });  
  6.   });  
  7.   $("#select_no").click(function(){  
  8.     $("input[name=id]").each(function(){  
  9.       $(this).prop("checked",false);  
  10.     });  
  11.   });  
  12. });  

HTML代码部分如下()

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <input type="checkbox" value="1" name="id"><br/>    
  2. <input type="checkbox" value="2" name="id"><br/>    
  3. <input type="checkbox" value="3" name="id"> <br/>    
  4. <input type="checkbox" value="4" name="id"> <br/>    
  5. <input type="checkbox" value="5" name="id"> <br/>    
  6. <input type="checkbox" value="6" name="id"> <br/>    
  7. <input type="checkbox" value="7" name="id"> <br/>    
[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <a href="javascript:void(0);" id="select_yes">全选</a>   
  2. <a href="javascript:void(0);" id="select_no">返选</a>   

2 0
原创粉丝点击