Javascript 如何在SPAN旁边的DIV中获取文本
我正在构建一个scraper,我遇到了一些我不知道如何解析的HTML。我有一段这样的代码Javascript 如何在SPAN旁边的DIV中获取文本,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在构建一个scraper,我遇到了一些我不知道如何解析的HTML。我有一段这样的代码 <div> <span>SomeHeader</span> "Some text" <span>SomeOtherHeader</span> "More text" </div> 某个头 “一些文本” 另一头 “更多文本” 在JS或JQuery中,我想找到“SomeHeader”,并在后面查找“Sometext”
<div>
<span>SomeHeader</span>
"Some text"
<span>SomeOtherHeader</span>
"More text"
</div>
某个头
“一些文本”
另一头
“更多文本”
在JS或JQuery中,我想找到“SomeHeader”,并在后面查找“Sometext”,而不查找“moretext”
感谢您的帮助 获取对DIV元素的引用后,可以使用其“textContent()”方法提取DIV元素及其子元素中的所有文本。那就是找到你要找的东西的发生点。您可以使用正则表达式,如“/SomeHeader*/”,然后“/SomeOtherHeader/”,来提取所需内容。您可以使用
:contains()
选择器来查找包含某些文本的元素,但此选择器不精确。例如$(“span:contains(Text)”)
在底部同时选择span
<span>Text</span>
<span>Text text</span>
某个头
“一些文本”
另一头
“更多文本”
您可以尝试以下方法:
$('div')
.contents()
.filter(function () {
if($(this).text() == "SomeHeader") {
alert($(this)[0].nextSibling.nodeValue);
}
});
示例:$('div span:contains(SomeHeader)').get(0).nextSibling