JQuery InnerText不包括子元素

Owe*_*wen 5 javascript jquery

我想知道如何获得嵌套列表项的文本而不获取其子项的文本即

<ul>
   <li id="node">
      I want this
    <ul>
       <li>
          I dont want this
        </li>
    </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

现在使用jquery和$('#node').text()获取所有文本,我只想要"我想要这个"字符串.

任何帮助赞赏.

干杯,克里斯.

bob*_*nce 10

蒂姆的解决方案将起作用.如果您的标记始终以该格式固定,并且您只需要读取第一段文本直到子元素,您甚至可以简单地逃脱:

node.firstChild.data
Run Code Online (Sandbox Code Playgroud)


Tim*_*own 5

以下内容将为您提供所有文本节点的连接字符串,这些节点是节点的直接子节点:

function getChildText(node) {
  var text = "";
  for (var child = node.firstChild; !!child; child = child.nextSibling) {
    if (child.nodeType === 3) {
      text += child.nodeValue;
    }
  }
  return text;
}

alert( getChildText(document.getElementById("node")) );
Run Code Online (Sandbox Code Playgroud)


Rus*_*Cam 0

如果您想经常这样做,可以使用Text Children 插件。它还为您提供了一些输出选项。