Javascript 如何使用jquery选择某些文本节点?

Javascript 如何使用jquery选择某些文本节点?,javascript,jquery,ajax,jquery-selectors,Javascript,Jquery,Ajax,Jquery Selectors,我正在尝试使用ajax从网站获取一些数据 这是我使用ajax POST方法编写的代码: $data.find'.col-md-9.面板:lt5'.eachfunction{ console.log$this.find'.panel body.sp card td:eq1 center'.text 控制台: Mc战争网络 IP:mc-wars.org 投票-服务器信息 网站 我只想得到第一条线:Mc战争网络 请帮忙 这是我正在抓取的html代码的图像 这是一张刮片后的控制台图片。我只需要第一行 这

我正在尝试使用ajax从网站获取一些数据

这是我使用ajax POST方法编写的代码:

$data.find'.col-md-9.面板:lt5'.eachfunction{ console.log$this.find'.panel body.sp card td:eq1 center'.text

控制台:

Mc战争网络 IP:mc-wars.org 投票-服务器信息 网站

我只想得到第一条线:Mc战争网络

请帮忙

这是我正在抓取的html代码的图像

这是一张刮片后的控制台图片。我只需要第一行

这是来自网站Im抓取的代码:

<div onclick="location.href='//www.serverpact.com/vote-20129 ';" class="panel panel-default sp-plane">
                        <div class="ribbon ribbon-small ribbon-blue">
                            <div class="banner">
                                <div style="font-size: 14px;text-align: center;" class="text">#1</div>
                            </div>
                        </div>
                        <div style="padding: 5px;" class="panel-body">
                            <table class="sp-card">
                                <tbody><tr>
                                    <td style="font-weight: bold;vertical-align: middle;"><center><i class="fa fa-thumbs-up"></i><br>8384<br><br>#1</center></td>
                                    <td style="font-weight: bold;vertical-align: middle;">
                                        <center>
                                        Mc-Wars Network<br>
                                        <b>IP: mc-wars.org<br>
                                        <a style="margin-top: 5px;" class="btn btn-primary btn-sm" href="//www.serverpact.com/vote-20129 ">Vote - Server info</a> 
                                        <a style="margin-top: 5px;" class="btn btn-success btn-sm" href="http://mc-wars.org">Website</a>
                                        </b></center>
                                    </td>
                                    <td width="500px" class="hidden-xs">
                                    <a href="http://mc-wars.org" target="_blank"><img style="margin-top: 7px;margin-bottom: 3px;border-radius: 4px;" src="http://www.serverpact.com/b/20129.gif" alt="Mc-Wars Network" class="img-responsive hidden-xs"></a>
                                        <span style="font-size: 13px;">
                                            McWars is a minecraft pvp based server where you will have to build a fortress for your team and destroy the other teams base to win. With more than 10 different classes to choose, youll love it.
                                        </span>            
                                    </td>
                                </tr>
                            </tbody></table>
                        </div>
                    </div>

文本可能会合并所有子文本节点


您需要的可能是将文本节点作为节点检索,然后获取其内容。例如。

这里有一个片段,我将td中中心的子节点导航到正确的文本节点。请注意,空白创建了一个子节点,因此,例如,在中心节点之前,有一个仅限空白的文本节点,它在td中并不重要但这是你应该注意的事情

文档。编写“给你:”+$“firstDiv td:nth-child2中心”[0]。childNodes[0]。textContent 我需要的文本! 我不需要的文本!
有一种方法可以做到这一点:

$(data).find('#firstDiv #coolTable').each(function () {
console.log($.trim($(this).find('tbody tr td:eq(1) center').contents()[0].nodeValue))});

好的,你的问题改变了很多! 在.text末尾添加将执行此任务的内容:

.match(/[^\n]+/g)[0]

请注意,通过更改索引可以捕获所有行,其中0是第一行,1是第二行,并依次执行。

当我将.text函数替换为.contents[0]时.nodeValue I get this error=Uncaught TypeError:无法读取Undefinedy的属性'nodeValue',您正在使用find方法查找类元素,而不是html结构中定义的id元素。只有在我已经测试了脚本以使其正常工作后,才能使用上述方法替换脚本。关于您提出的问题ed to@ekuusela,你可以使用jQuery方法$.trim'string_here'删除空格,正如我在回答中已经使用的那样。不要忘记投票确认它是否有用。谢谢!上面的代码只是我需要得到的一个示例。我将我的问题改为“你可以看到我真正需要的东西”。请看一看。我如何让我的javascript你忽略了空白的代码吗?你读了我链接到的文章吗?它有一些实用的功能,比如第一个孩子,我现在就得到这个错误。Uncaught TypeError:不能读取NULL属性“0”。当我不在EndoCon上使用.Matt时,你会得到所有的文本。这里?尝试在.text方法之后和.match之前添加.toString。添加toString会产生相同的错误。请查看我发布的图像。@Infinity,您想从哪个节点开始搜索?这是第一个可重复的吗?