Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取第一个HTML标记的文本内容_Javascript_Jquery_Html - Fatal编程技术网

Javascript 获取第一个HTML标记的文本内容

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>

我只需要获取html标记Div的文本,其中
(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属性的文档