不传参数的text()方法在获取文本内容时,会把子元素的文本也获取过来(会删除 HTML 标记),例子:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <div id="container"> aaa <div>bbb</div> </div> <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script> <script> alert($('#container').text());//aaa bbb </script> </body> </html>
当jQuery选择器选中的元素有多个时,它会返回所有匹配元素的组合的文本内容(会删除 HTML 标记)。W3cschool上面的一个例子
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script> <script> alert($("p").text());//返回两段文本内容 </script> </body> </html>
传参数的text()方法用于设置值时,它会覆盖被选元素的所有内容。里面可以传标签内容。如:$("p").text(aaa<b>bbb</b>)
对于除表单外的元素,都可以用text()获取和设置元素的内容。
对于表单元素,有个value属性,value属性的内容也会显示在页面。这种情况则用jquery的val()方法获取和设置。