读取、修改元素的html结构或者元素的文本内容是常见的DOM操作,jQuery针对这样的处理提供了2个便捷的方法.html()与.text()
html()方法
获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容,具体有3种用法:
.html() 不传入值,就是获取集合中第一个匹配元素的HTML内容
.html( htmlString ) 设置每一个匹配元素的html内容
.html( function(index, oldhtml) ) 用来返回设置HTML内容的一个函数
注:.html()方法内部使用的是DOM的innerHTML属性来处理的,所以在设置与获取上需要注意的一个最重要的问题,这个操作是针对整个HTML内容(不仅仅只是文本内容)
下面我们来看以下html() 方法的一些实例
如何改变html 元素的内容 代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <div id="dv">php 中文网</div> <script type="text/javascript"> $('#dv').html("www.php.cn"); </script> </body> </html>
改变了div标签的内容
2.追加内容
比如上面实例,我们要在php中文网后面追加一个网址,这样我们需要怎样去实现
请看下面代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <div id="dv">php 中文网</div> <script type="text/javascript"> $('#dv').append("www.php.cn"); </script> </body> </html>
如上实例,这样就会给我们的div 标签追加一个 www.php.cn 的网址
after 与 before 方法
after: 在所有匹配的元素之后插入 HTML 内容
before: 在所有匹配的元素之前插入 HTML 内容
比如,我们以上示例,如何在 div 标签前或者后加上内容
如下实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <div id="dv">php 中文网</div> <script type="text/javascript"> $('#dv').before("欢迎来到:"); $("#dv").after("学习编程"); </script> </body> </html>
text()方法
得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。,具体有3种用法:
.text() 得到匹配元素集合中每个元素的合并文本,包括他们的后代
.text( textString ) 用于设置匹配元素内容的文本
.text( function(index, text) ) 用来返回设置文本内容的一个函数
请看下面的实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <div id="dv">php 中文网</div> <script type="text/javascript"> alert($('#dv').text()); </script> </body> </html>