现在的位置: 网页制作教程网站制作教程 >正文
jquery相关教程

jQuery中text()、html()、attr()以及val()区别

发表于2017/5/5 网站制作教程 0条评论 ⁄ 热度 1,456℃

jQuery中text()、html()、attr()以及val()都可以获取和设置内容。它们的区别如下:

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

text()、html()和val()用法

下面的例子演示如何通过 jQuery text() 和 html() 方法来获得内容:

$("#btn1").click(function(){
 alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
 alert("HTML: " + $("#test").html());
});

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

$("#btn1").click(function(){
 $("#test1").text("Hello world!");
});
$("#btn2").click(function(){
 $("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
 $("#test3").val("Dolly Duck");
});

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

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

下面的例子演示带有回调函数的 text() 和 html():

$("#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 + ")";
  });
});

下面的例子演示如何通过 jQuery val() 方法获得表单输入字段的值:

$("#btn1").click(function(){
  alert("Value: " + $("#test").val());
});

jQuery 中 attr()的用法

下面的例子演示如何通过 jQuery attr() 方法获得链接中 href 属性的值:

$("button").click(function(){
  alert($("#w3s").attr("href"));
});

下面的例子演示如何通过attr()改变(设置)链接中 href 属性的值:

$("button").click(function(){
  $("#w3s").attr("href","http://www.webym.net/");
});

attr() 方法也允许您同时设置多个属性。

下面的例子演示如何同时设置 href 和 title 属性:

$("button").click(function(){
 $("#w3s").attr({
  "href" : "http://www.webym.net/",
  "title" : "webym jQuery Tutorial"
 });
});

attr() 的回调函数

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

下面的例子演示带有回调函数的 attr() 方法:

$("button").click(function(){
 $("#w3s").attr("href", function(i,origValue){
  return origValue + "/jquery";
 });
});
  • 暂无评论