我有这个HTML:
<div id="score-data">
<h4>Soccer League</h4>
<span>14:00</span>
TeamA - TeamB
<a href="/match/pveAhZ4U/?s=1" class="fin">3:0</a>
<br>
<span>14:00</span>
TeamC - TeamD
<a href="/match/OO61fezI/?s=1" class="fin">0:1</a>
<br><span>15:00</span>
TeamE - TeamF
<a href="/match/z3zKCxjn/?s=1" class="fin">3:0</a>
</div>
这只是一个示例,在同一div
内有数百个相同的HTML模式。我需要做的是使用jQuery查找对应于某个团队的href
。我以为我可以试试像:
var a = $("#score-data:contains('TeamC')").closest('a').attr('href');
但它会返回undefined
,我怀疑是因为它只是寻找距离a
最近的div
标记,这显然无济于事。我怎么能用jQuery做到这一点?
这是带有工作样本的JSFiddle。
答案 0 :(得分:4)
var href = $("#score-data a").filter(function () {
return this.previousSibling.nodeValue.indexOf('TeamC') > -1;
}).attr('href');
alert(href);
<小时/> 查找链接
$("#score-data a")
,然后按前一个(文本)节点的值.filter()
过滤this.previousSibling.nodeValue.indexOf('TeamC') > -1;
。