js+jquery動態設置/添加/刪除/獲取元素屬性的兩種方法集錦對照(動態onclick屬性設置+動態title設置)


<!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/zqtsx
function 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/zqtsx
function 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 plain copy 在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 plain copy 在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 plain copy 在CODE上查看代碼片 派生到我的代碼片
  1. <a href="javascript:void(0);" id="select_yes">全選</a>   
  2. <a href="javascript:void(0);" id="select_no">返選</a>   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM