jQuery中的html()和text()方法有何区别
时间: 2024-02-17 08:05:14 浏览: 118
`html()` 和 `text()` 方法是 jQuery 中用于获取或设置元素内容的函数,它们的区别在于:
- `html()` 方法获取或设置元素内的 HTML 内容,包括标签和文本内容。如果使用 `html()` 方法设置元素内容,那么原来的内容会被完全替换掉。
- `text()` 方法获取或设置元素内的纯文本内容,不会包括 HTML 标签。如果使用 `text()` 方法设置元素内容,那么原来的内容会被替换成纯文本,所有的 HTML 标签都会被去掉。
举个例子,比如下面这个 HTML 代码:
```html
<div id="myDiv">
<p>This is <strong>some</strong> text.</p>
</div>
```
如果使用 `html()` 方法获取 `myDiv` 元素的内容,会返回包含 HTML 标签的字符串:
```javascript
var content = $('#myDiv').html();
console.log(content); // 输出:"<p>This is <strong>some</strong> text.</p>"
```
如果使用 `text()` 方法获取 `myDiv` 元素的内容,会返回不包含 HTML 标签的字符串:
```javascript
var content = $('#myDiv').text();
console.log(content); // 输出:"This is some text."
```
如果使用 `html()` 方法设置 `myDiv` 元素的内容,可以包含 HTML 标签:
```javascript
$('#myDiv').html('<p>New content with <em>HTML</em> tags.</p>');
```
而如果使用 `text()` 方法设置 `myDiv` 元素的内容,所有的 HTML 标签都会被去掉:
```javascript
$('#myDiv').text('New content without HTML tags.');
```
因此,在使用这两个方法时,需要根据实际需要选择合适的方法来获取或设置元素内容。
阅读全文