我应该使用什么jquery选择器来获得跨越匿名的孩子?

时间:2017-02-19 20:22:36

标签: jquery

这可能是相当的菜鸟,但是在这种情况下我无法找到我需要的jquery选择器.... 所以,让html像

<span style="color:red;">Gender:</span>Drama<br>
<span style="color:red;">Country:</span>USA<br>

我应该使用什么jquery选择器来获得“戏剧”? 提前致谢

3 个答案:

答案 0 :(得分:1)

首先,您需要识别<span>元素,然后立即获取文本节点。由于您的span元素没有任何独特之处,因此您可以使用他们在父元素中找到的顺序来识别它们。

您可以使用:first-child:nth-child等伪选择器来执行此操作。

一旦确定了跨度,就需要选择下一个节点并检索其值。

一个例子:

&#13;
&#13;
console.log($('span:first-child')[0].nextSibling.nodeValue)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<span style="color:red;">Gender:</span>Drama<br>
<span style="color:red;">Country:</span>USA<br>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你的问题不是很清楚。

我认为您的内容有父母(&lt; p&gt;?) 我觉得你试图以复杂的方式做某事,而且它可能更简单。

为什么不在其他范围内放置您必须选择的内容? :

&#13;
&#13;
var textContent = new Array();
$('p .selector').each(function() {
  textContent.push($(this).text());
});

console.log(textContent[0]);
console.log(textContent[1]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
    <span style="color:red;">Gender:</span><span class="selector">Drama</span><br>
    <span style="color:red;">Country:</span><span class="selector">USA</span><br>
</p>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

根据@montalenu的回答,我通过以下方式实现了我的目标 alert($('span:contains("Gender")')[0].nextSibling.nodeValue)‌​;