Javascript 如何使用jquery获取div中的特定文本 一些代码 所需内容 多余的内容 不必要的内容2
我只想在这里得到“需要的内容”。因此,我必须删除脚本标记并获取所有文本,直到Javascript 如何使用jquery获取div中的特定文本 一些代码 所需内容 多余的内容 不必要的内容2,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我只想在这里得到“需要的内容”。因此,我必须删除脚本标记并获取所有文本,直到div.separator 如果我只从根目录(div.news)中获取未包含子元素的文本,我将解决这个问题,或者以另一种方式清理子元素 我如何处理这个问题 感谢您的关注。您可以使用contents()和filter()检索元素中的文本节点。试试这个: <div class="news"> <script type="text/javascript"> som
div.separator
如果我只从根目录(div.news)中获取未包含子元素的文本,我将解决这个问题,或者以另一种方式清理子元素
我如何处理这个问题
感谢您的关注。您可以使用contents()
和filter()
检索元素中的文本节点。试试这个:
<div class="news">
<script type="text/javascript">
some codes
</script>
needed content
<div class="seperator">
unneeded content
</div>
unneeded content2
</div>
您可以使用contents()
和filter()
检索元素中的文本节点。试试这个:
<div class="news">
<script type="text/javascript">
some codes
</script>
needed content
<div class="seperator">
unneeded content
</div>
unneeded content2
</div>
尝试使用父
DOM
元素的.childNodes
。news
,选择索引2
var textNodes = $('.news').contents().filter(function() {
return this.nodeType == 3 && this.nodeValue.trim() != ''
}).get();
console.log(textNodes[0].nodeValue.trim()); // = 'needed content'
或者,在父节点.news
.childNodes
上使用for
循环,其中.previousElement同级节点.tagName
是“脚本”
var节点=document.querySelector(“.news”).childNodes;
对于(var i=0;i
//一些代码
所需内容
多余的内容
尝试使用父DOM
元素的.childNodes
。news
,选择索引2
var textNodes = $('.news').contents().filter(function() {
return this.nodeType == 3 && this.nodeValue.trim() != ''
}).get();
console.log(textNodes[0].nodeValue.trim()); // = 'needed content'
或者,在父节点.news
.childNodes
上使用for
循环,其中.previousElement同级节点.tagName
是“脚本”
var节点=document.querySelector(“.news”).childNodes;
对于(var i=0;i
//一些代码
所需内容
多余的内容
使用获取所有节点,包括文本节点。然后使用.not($('*')
排除元素节点:
console.log($('.news').contents().not($('*')).text().trim())//所需内容
一些代码
所需内容
多余的内容
使用获取所有节点,包括文本节点。然后使用.not($('*')
排除元素节点:
console.log($('.news').contents().not($('*')).text().trim())//所需内容
一些代码
所需内容
多余的内容
写一个答案:)你能把需要的内容包装成一个
(或任何标签)并给它一个ID或类吗?使用.text()
将更容易找到目标。谷歌上的一些搜索将为您提供这样一个基本问题的答案;)。写一个答案:)你能把需要的内容包装成一个
(或任何标签)并给它一个ID或类吗?使用.text()
将更容易找到目标。谷歌上的一些搜索将为您提供这样一个基本问题的答案;)。非常感谢这很好,但有时会出现问题,脚本和div.separator之间可能不止一段。所以这取决于例如needcontent
needcontent2。在这种情况下,这个jquery将只获得第一个needcontent,但我也需要第二个。有没有办法说get text till div.spereator my friend?要做到这一点,您可以使用从text
创建一个包含所有返回节点值的数组,并使用join()
创建一个字符串,类似这样的内容:非常感谢这很好,但有时有一个问题,脚本和div.separator之间可能不止一段。所以这取决于例如needcontent
needcontent2。在这种情况下,这个jquery将只获得第一个needcontent,但我也需要第二个。有没有办法说get text till div.spereator my friend?要做到这一点,您可以使用从text
创建一个包含所有返回节点值的数组,并使用join()
创建一个字符串,类似这样:这对我非常有用,谢谢。只是我也想问一些重要的问题。我现在更新问题。在这种情况下,有什么方法可以清除“不需要的内容2”吗?同样地,我不能相信这有这么少的+投票,尽管它很可能在堆栈溢出中大量复制。。我第一次使用contents()
现在,正如建议的那样,与not($('*')
一致,这真是太棒了!非常感谢。这对我很有用,谢谢。只是我也想问一些重要的问题。我现在更新问题。在这种情况下,有什么方法可以清除“不需要的内容2”吗?同样地,我不能相信这有这么少的+投票,尽管它很可能在堆栈溢出中大量复制。。我第一次使用contents()
现在,正如建议的那样,与not($('*')
一致,这真是太棒了!非常感谢。