Javascript 获取第一个HTML标记的文本内容
我只需要获取html标记Div的文本,其中Javascript 获取第一个HTML标记的文本内容,javascript,jquery,html,Javascript,Jquery,Html,我只需要获取html标记Div的文本,其中(id='div12Item')即(新内容) 下面是我的html代码 <div name="div12Item" id="div12Item"> new content <ul id="sortable" > <li ></span>Item 1</li>
(id='div12Item')
即(新内容)
下面是我的html代码
<div name="div12Item" id="div12Item">
new content
<ul id="sortable" >
<li ></span>Item 1</li>
<li ></span>Item 2</li>
<li ></span>Item 3</li>
</ul>
</div>
新内容
- 项目1
- 第2项
- 第3项
当我执行这个javascript代码时,alert(document.getElementById('div12Item').textContent)代码>
我得到了新的内容项1项2项3
但我只需要在div中获取文本,即使在HTML标记div中还有其他HTML标记,如我的示例您可以筛选出nodetype等于textnode的元素以及.text()
,以获取其文本:
var text = $("#div12Item").contents().filter(function() {
return this.nodeType == Node.TEXT_NODE;
}).text();
var text=$(“#div12Item”).contents().filter(函数(){
返回this.nodeType==Node.TEXT\u Node;
}).text();
警报(text.trim())代码>
新内容
- 项目1
- 第2项
- 第3项
您可以筛选出nodetype等于textnode的元素以及.text()
以获取其文本:
var text = $("#div12Item").contents().filter(function() {
return this.nodeType == Node.TEXT_NODE;
}).text();
var text=$(“#div12Item”).contents().filter(函数(){
返回this.nodeType==Node.TEXT\u Node;
}).text();
警报(text.trim())代码>
新内容
- 项目1
- 第2项
- 第3项
假设您只想检索新内容
值,并且它始终是#div12Item
的第一个子元素,那么您可以使用childNodes
属性,如下所示:
console.log(document.getElementById('div12Item').childNodes[0].textContent.trim())代码>
新内容
- 项目1
- 项目2
- 项目3
假设您只想检索新内容
值,并且它始终是#div12Item
的第一个子元素,那么您可以使用childNodes
属性,如下所示:
console.log(document.getElementById('div12Item').childNodes[0].textContent.trim())代码>
新内容
- 项目1
- 项目2
- 项目3
这可能很有用
var a=document.getElementById(“div12Item”).childNodes[0]。数据;
控制台日志(a)//实际文本
log(a.replace(//g',)//已修剪的空白
新内容
- 项目1
- 第2项
- 第3项
这可能很有用
var a=document.getElementById(“div12Item”).childNodes[0]。数据;
控制台日志(a)//实际文本
log(a.replace(//g',)//已修剪的空白
新内容
- 项目1
- 第2项
- 第3项
$(“#div12Item”).contents().eq(0).text().trim()$(“#div12Item”).contents().eq(0).text().trim()所以您只想检索第一个节点,即新内容
,而不是子li
元素中的任何文本,对吗?还请注意,HTML是无效的,因为其中有一个奇怪的
标记,它不应该超出Rory McCrossanSo的范围。您只想检索第一个节点,即新内容
,而不是子li
元素中的任何文本,对吗?还要注意的是,你的HTML是无效的,因为你有一个奇怪的
标记,在那里它不应该超过Rory McCrossanit完美地工作。你能解释一下这一行吗this.nodeType==Node.TEXT\u Node;thanks@khalil_diouri:我们正在筛选出节点类型为文本节点的元素。这是nodetype属性的文档,它工作得很好。请解释这一行。nodetype==Node.TEXT\u Node;thanks@khalil_diouri:我们正在筛选出节点类型为文本节点的元素。这是nodetype属性的文档