Jquery css不选择子元素

Jquery css不选择子元素,jquery,html,domcrawler,Jquery,Html,Domcrawler,假设我的html如下所示: <h3 class="search-result-title"> This is a test <small class="search-result-subtitle"> Some more explanation </small> </h3> 如何过滤文本这是一个没有小的测试 编辑:我将它与sym

假设我的html如下所示:

<h3 class="search-result-title">
            This is a test
            <small class="search-result-subtitle">
                Some more explanation
            </small>
        </h3>
如何过滤文本这是一个没有小的测试

编辑:我将它与symfonydom爬虫一起使用


所以我有filtera。h3搜索结果标题;但是我不想要小元素的内容。

这是一个带有span标记和用户$'h3的测试。搜索结果标题>span:first child'可供选择。

我看到您正在使用jQUery,所以我发现:

您可以这样做:

$.fn.ignore=函数选择{ 返回此.clone.findsel | |>*.remove.end; }; console.log$h3.search-result-title.ignoresmall.text.trim

这将返回“这是一个测试”


希望有帮助

您可以使用过滤器提取内容,方法是将小元素作为参数,然后将其删除

$'.search result title'.contents.filtersmall.remove; 这是一个测试 再解释一下
您可以使用此代码仅获取h3元素的文本

document.querySelector('.search-result-title').firstChild.textContent
您可以使用。筛选。内容:


这是CSS还是jQuery问题?CSS选择器只能选择元素或伪元素。不是文本,也可以使用jquery.html函数。。这是一个与css相关的问题。我把它用在痛风爬虫上。我不想让这个小元素及其内容重复。。我将其用于爬虫程序我无法更改htmlso,您可以尝试$'h3.search result title'.firstChild.TextContents作为查找的一部分如何使其工作?ie$topcols=$row.find'h4'.contents.filtersmall.remove;不行,不知道,斯蒂芬。我在谷歌搜索了很多答案并抄袭了其他SO答案后发布了这个答案。不用担心,谢谢回复:
var txt = $('h3.search-result-title').contents().filter(function(){
    return this.nodeType == 3; 
 });