设置内容 - text()、html() 以及 val()

我们将使用前一章中的三个相同的方法来设置内容:

  • text() - 设置或返回所选元素的文本内容
  • html() - 设置或返回所选元素的内容(包括 HTML 标记)
  • val() - 设置或返回表单字段的值

下面的例子演示如何通过 text()、html() 以及 val() 方法来设置内容:

  1. <p id="test1">这是一个段落。</p>
  2. <p id="test2">这是另外一个段落。</p>
  3. <p>输入框: <input type="text" id="test3" value="菜鸟教程"></p>
  4. <button id="btn1">设置文本</button>
  5. <button id="btn2">设置 HTML</button>
  6. <button id="btn3">设置值</button>
  7. <script>
  8. $(document).ready(function(){
  9. $("#btn1").click(function(){
  10. $("#test1").text("Hello world!");
  11. });
  12. $("#btn2").click(function(){
  13. $("#test2").html("<b>Hello world!</b>");
  14. });
  15. $("#btn3").click(function(){
  16. $("#test3").val("RUNOOB");
  17. });
  18. });
  19. </script>

text()、html() 以及 val() 的回调函数

上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
下面的例子演示带有回调函数的 text() 和 html():

  1. <p id="test1">这是一个有 <b>粗体</b> 字的段落。</p>
  2. <p id="test2">这是另外一个有 <b>粗体</b> 字的段落。</p>
  3. <button id="btn1">显示 新/旧 文本</button>
  4. <button id="btn2">显示 新/旧 HTML</button>
  5. <script>
  6. $(document).ready(function(){
  7. $("#btn1").click(function(){
  8. $("#test1").text(function(i,origText){
  9. return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")";
  10. });
  11. });
  12. $("#btn2").click(function(){
  13. $("#test2").html(function(i,origText){
  14. return "旧 html: " + origText + " 新 html: Hello <b>world!</b> (index: " + i + ")";
  15. });
  16. });
  17. });
  18. </script>

设置属性 - attr()

jQuery attr() 方法也用于设置/改变属性值。
下面的例子演示如何改变(设置)链接中 href 属性的值:

  1. <p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p>
  2. <button>修改 href 值</button>
  3. <p>点击按钮修改后,可以点击链接查看链接地址是否变化。</p>
  4. <script>
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("#runoob").attr("href","http://www.runoob.com/jquery");
  8. });
  9. });
  10. </script>

attr() 方法也允许您同时设置多个属性。
下面的例子演示如何同时设置 href 和 title 属性:

  1. <p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p>
  2. <button>修改 href title</button>
  3. <p>点击按钮修改后,可以查看 href title 是否变化。</p>
  4. <script>
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("#runoob").attr({
  8. "href" : "http://www.runoob.com/jquery",
  9. "title" : "jQuery 教程"
  10. });
  11. // 通过修改的 title 值来修改链接名称
  12. title = $("#runoob").attr('title');
  13. $("#runoob").html(title);
  14. });
  15. });
  16. </script>

attr() 的回调函数

jQuery 方法 attr(),也提供回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
下面的例子演示带有回调函数的 attr() 方法:

  1. <p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p>
  2. <button>修改 href 值</button>
  3. <p>点击按钮修改后,可以点击链接查看 href 属性是否变化。</p>
  4. <script>
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("#runoob").attr("href", function(i, origValue){
  8. return origValue + "/jquery";
  9. });
  10. });
  11. });
  12. </script>