我有一张这样的表:
<table>
<tr>
<td>
<a href="/payinvoice/1">Pay Invoice 1</a>
<span class="paid hidden">False</span>
</td>
</tr>
<tr>
<td>
<a href="/payinvoice/2">Pay Invoice 2</a>
<span class="paid hidden">False</span>
</td>
</tr>
</table>
如果前一行td中的跨度值为False,我需要隐藏Pay Invoice 2链接。
我想出了这个:
$('span.paid').each(function () {
if ($(this).prev("span.paid").text() == "False") {
$(this).prev("a").addClass("hidden");
}
});
但它不起作用。有小费吗?谢谢!
答案 0 :(得分:1)
$('span.paid').each(function() {
var $this = $(this);
if ($.trim($this.closest('tr').prev('tr').find('span.paid').text()) == 'False') {
$this.prev('a').addClass('hidden');
}
});
答案 1 :(得分:1)
Here您正在寻找的内容:
$('span.paid').each(function () {
var prev = $(this).parents('tr').prev().find('span.paid').text();
if (prev=='False') {
$(this).prev().hide();
}
});
首先,我们将文本设置为prev
变量以用于组织目的。
我们首先找到保存函数tr
的{{1}}元素并选择之前的span.paid
。我们在tr
中搜索span.paid
,获取其文字,并将其与tr
函数中的字符串'False'
相匹配。
大解释,但结果很简单。
答案 2 :(得分:1)
$('span.paid').each(function () {
if ($(this).parents('tr').prev().find("span.paid").text() === "False") {
$(this).prev("a").addClass("hidden");
}
});
答案 3 :(得分:1)
试试这段代码,
$('tr').each(function() {
if ($("span.paid", $(this)).text() == "False") {
$("a", $(this).next('tr')).addClass("hidden");
}
});