我有这个HTML:
<tr class="odd">
<td class="teams league">
<span class="team"><a>Team A</a> <span>at</span></span>
<span class="team"><a>Team B</a> </span>
<div>
<span>7:00 pm EDT</span>
</div>
</td>
<td>
<div>
<span></span>
<div>
<span>-124</span>
<span>+113</span>
</div>
</div>
</td>
<td>
<div>
<span></span>
<div>
<span>-140</span>
<span>+120</span>
</div>
</div>
</td>
<td>
<div>
<span></span>
<div>
<span>-124</span>
<span>+113</span>
</div>
</div>
</td>
<td>
<div>
<span></span>
<div>
<span>-125</span>
<span>+115</span>
<!-- These are the two data I'm trying to pull out. --!>
</div>
</div>
</td>
</tr>
页面上有几个这样的<tr>
,用交替的类odd
和even
表示好吧,所以我将团队名称存储在变量中,称之为{{1 }}。我想找到总体teamName
,其中两个团队之一(团队A和团队B)等于<tr>
。然后,如果存在,我想获得teamName
标签中的第五组和最后一组数据(我已经在HTML中注释了它)。我知道我需要一个jQuery选择器来解决这些问题,但我无法完全理解它。这是我一直在玩的JSFiddle试图取得一些进展。有人可以帮忙吗?
编辑:我尝试了类似:<span>
的内容,但是没有用。
答案 0 :(得分:3)
您可以使用:contains
来完成此操作。这是一个非常基本的例子:
$('tr:contains(' + teamName + ')')
要在一个步骤中获得最后一个跨度,您需要添加:
$('tr:contains(' + teamName + ') span:last')
这是更新后的JSFiddle:http://jsfiddle.net/zZ8NB/6/
答案 1 :(得分:0)
您可以大大简化此代码,但这可以解决问题:
$(".teams").find(".team").find("a").each(function () {
var row;
if ($(this).text() === teamName) {
row = $(this).closest("tr");
row.find("td").last().find("div").find("div").find("span").each(function () {
console.log($(this).text());
});
}
});