0

我如何比较这两个元素:

<a class="MenuSelected" href="c-4-kayaks-canoes.aspx">Kayaks &amp; Canoes</a>

和这个:

<div class=title>Kayaks &amp; Canoes</div>

如果它发现文本div.title相同,则添加 cssdisplay:none

我不确定要尝试什么,因为它里面的文字我需要比较!我不能像下面的例子那样对字符串进行硬编码。

$("div.title:contains('John')").css("display", "none");

4

2 回答 2

2
$("div.title:contains('" + $("a.MenuSelected").text() + "')").hide();

或者,更明确但也更通用(例如,它允许进行不区分大小写的比较):

$("div.title")
.filter(function () {
  return $(this).text().toLowerCase() == $("a.MenuSelected").text().toLowerCase();
})
.hide();

$.trim()正如@JaredFarrish 在评论中建议的那样,你也可以在那里做。

比较中的:contains选择器区分大小写和空格,因此它只选择完全匹配。

于 2012-07-02T10:59:06.263 回答
1

这在某些情况下会起作用,为了更好地理解,您应该提供相关的 html 代码

if ($('a.MenuSelected').text() == $('div.title').text())
{
    $('div.title').hide(); //same as css disaplay: none
}
于 2012-07-02T10:59:14.830 回答