分享

text()/html()/val()的区别

 就这样了__ 2016-09-30

刚开始时,经常会混淆html(),text()和val().后来基本能搞清楚,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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

此处的con匹配的3个h3元素,但是只会打印出第一个h3的内容。
如果我们此处换成text();那么会打印出三个h3的内容。
如果带参数的话,con.html(“aaa”);和con.text(“aaa”);效果一样,都能改变3个h3的内容。
不过如果con.html("<span>'aaa'</span>")con.text("<span>'aaa'</span>");使用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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这里写图片描述
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='sex']:checked").val());
        console.log($("select option:selected").text());
    });
</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

这里写图片描述

此处,可以关注下如何获取单选按钮的值,如何获取选中的select的值。
需要注意的是,option的value并不是显示在页面上的内容,因为设置或者是获取option的页面内容,需要使用text(),当然使用html()亦可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约