設置內容 - text()、html() 以及 val()
text() - 設置或返回所選元素的文本內容
html() - 設置或返回所選元素的內容(包括 HTML 標記)
val() - 設置或返回表單字段的值
示例:
<!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js"></script> <script> $(document).ready(function(){ $("#btn1").click(function(){ $("#test1").text("Hello world!"); }); $("#btn2").click(function(){ $("#test2").html("<b>Hello world!</b>"); }); $("#btn3").click(function(){ $("#test3").val("Dolly Duck"); }); }); </script> </head> <body> <p id="test1">這是段落。</p> <p id="test2">這是另一個段落。</p> <p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p> <button id="btn1">設置文本</button> <button id="btn2">設置 HTML</button> <button id="btn3">設置值</button> </body> </html>
text()、html() 以及 val() 的回調函數
上面的三個 jQuery 方法:text()、html() 以及 val(),同樣擁有回調函數。回調函數由兩個參數:被選元素列表中當前元素的下標,以及原始(舊的)值。然後以函數新值返回您希望使用的字符串。
<!DOCTYPE html> <html> <head> <script src="jquery-2.2.0.min.js"></script> <script> $(document).ready(function(){ $("#btn1").click(function(){ $("#test1").text(function(i,origText){ return "Old text: " + origText + " New text: Hello world! (index: " + i + ")"; }); }); $("#btn2").click(function(){ $("#test2").html(function(i,origText){ return "Old html: " + origText + " New html: Hello <b>world!</b> (index: " + i + ")"; }); }); }); </script> </head> <body> <p id="test1">這是<b>粗體</b>文本。</p> <p id="test2">這是另一段<b>粗體</b>文本。</p> <button id="btn1">顯示舊/新文本</button> <button id="btn2">顯示舊/新 HTML</button> </body> </html>
設置屬性 - attr()
jQuery attr() 方法也用於設置/改變屬性值。
<!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $("#w3s").attr("href","http://hovertree.com/jquery"); }); }); </script> </head> <body> <p><a href="http://hovertree.com" id="w3s">hovertree.com.cn</a></p> <button>改變 href 值</button> <p>請把鼠標指針移動到鏈接上,或者點擊該鏈接,來查看已經改變的 href 值。</p> </body> </html>
jquery中用attr()方法來獲取和設置元素屬性,attr是attribute(屬性)的縮寫,在jQuery DOM操作中會經常用到attr(),attr()有4個表達式。
1. attr(屬性名) //獲取屬性的值(取得第一個匹配元素的屬性值。通過這個方法可以方便地從第一個匹配元素中獲取一個屬性的值。如果元素沒有相應屬性,則返回 undefined )
2. attr(屬性名, 屬性值) //設置屬性的值 (為所有匹配的元素設置一個屬性值。)
3. attr(屬性名,函數值) //設置屬性的函數值 (為所有匹配的元素設置一個計算的屬性值。不提供值,而是提供一個函數,由這個函數計算的值作為屬性值。)
4.attr(properties) //給指定元素設置多個屬性值,即:{屬性名一: “屬性值一” , 屬性名二: “屬性值二” , … … }。(這是一種在所有匹配元素中批量設置很多屬性的最佳方式。 注意,如果你要設置對象的class屬性,你必須使用'className' 作為屬性名。或者你可以直接使用'class'或者'id'。示例如下:)
$("button").click(function(){ $("#w3s").attr({ "href" : "http://hovertree.com/jquery", "title" : "hovertree jQuery Tutorial" }); });
attr() 的回調函數
jQuery 方法 attr(),也提供回調函數。
<!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $("#w3s").attr("href", function(i,origValue){ return origValue + "/jquery"; }); }); }); </script> </head> <body> <p><a href="http://hovertree.com" id="w3s">hovertree.com.cn</a></p> <button>改變 href 值</button> <p>請把鼠標指針移動到鏈接上,或者點擊該鏈接,來查看已經改變的 href 值。</p> </body> </html>