首页 >web前端 >js教程 >关于jQuery中text() val()和html()的区别

关于jQuery中text() val()和html()的区别

不言
不言原创
2018-06-12 14:24:181369浏览

这篇文章主要介绍了jQuery中text() val()和html()的区别实例详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

简单的说:html()和text()的区别主要在于是否包含标签。而val()针对的是表单元素。

但是有时还是不是那么太清晰。

html(),val(),text()都分为有参和无参。

举例说明它们的不同之处:

html()在没有参数的情况下,取得第一个匹配元素的内容。必须要注意的是,即使匹配多个,也只能取得匹配的第一个元素。
如:

<body>
<p>你选中这段文字后,看看它们的文本颜色和背景色,就能明白::selection的作用。</p>
<h3>选中下面的文字,看看它的颜色</h3>
<h3>选中下面的文字,看看它的颜色</h3>
<h3>选中下面的文字,看看它的颜色</h3>
<input type="text" value="aaa">
</body>
</html>
<script src="../js/jquery-1.11.2.min.js"></script>
<script>
var con = $("p").nextAll("h3");
console.log(con.html());
</script>

此处的con匹配的3个h3元素,但是只会打印出第一个h3的内容。

如果我们此处换成text();那么会打印出三个h3的内容。

如果带参数的话,con.html(“aaa”);和con.text(“aaa”);效果一样,都能改变3个h3的内容。

不过如果con.html("45a2772a6b6107b401db3c9b82c049c2'aaa'54bdf357c58b8a65c66d7c19c8e4d114")和con.text("45a2772a6b6107b401db3c9b82c049c2'aaa'54bdf357c58b8a65c66d7c19c8e4d114");使用html会将span解析为标签,而text,则会将作为字符串插入。

<body>
<p>你选中这段文字后,看看它们的文本颜色和背景色,就能明白::selection的作用。</p>
<h3><span>选中下面的文字,看看它的颜色</span></h3>
<h3><span>选中下面的文字,看看它的颜色</span></h3>
<input type="text" value="aaa">
</body>
</html>
<script src="../js/jquery-1.11.2.min.js"></script>
<script>
var con = $("p").nextAll("h3");
console.log(con.html());
console.log(con.text());
</script>

这里写图片描述 

html()会将标签也取出,但是text()只会获取文本部分。

再看val();

<body>
<input type="text" value="aaa"/>
<input type="button" value="按钮"/>
选择性别:<input type="radio" name="sex" checked value="男"><label>男</label>
<input type="radio" name="sex" value="女"><label>女</label>
<br><br>
选择地区:
<select style="width: 150px">
<option value="1">上海</option>
<option value="2">杭州</option>
<option value="3">南京</option>
<option value="4">丽江</option>
</select>
</body>
</html>
<script src="../js/jquery-1.11.2.min.js"></script>
<script>
$(function () {
console.log($("input:text").val());
console.log($("input:button").val());
console.log($("input[name=&#39;sex&#39;]:checked").val());
console.log($("select option:selected").text());
});
</script>

这里写图片描述

此处,可以关注下如何获取单选按钮的值,如何获取选中的select的值。

需要注意的是,option的value并不是显示在页面上的内容,因为设置或者是获取option的页面内容,需要使用text(),当然使用html()亦可。

关于三者的区别小结

   1. .val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。

    2 .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何利用Nodejs搭建服务器访问html、css、JS等静态资源文件

以上是关于jQuery中text() val()和html()的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn