0

我有一个包含 8 个项目的内容手风琴页面。我h4在手风琴外的页面上也有一个标签。我想隐藏与h4标签内的文本匹配的内容手风琴项。

标签内的文本h4和内容手风琴项可能会改变,所以我需要使用变量(我认为)。

这是我到目前为止所拥有的:

var category = $('.leftColumnNav h4').html();
var topic = $('.contentAccordionItemTitle p').html();

if(topic === category){
  $(".contentAccordionItemTitle").css("display", "none");
} else {
  $(".contentAccordionItemTitle").css("display", "block");
}

我有什么作品。它成功隐藏了.contentAccordionItemTitle. 不幸的是,它显然隐藏了所有这些。我只想隐藏与h4标签匹配的那个。

如果需要,我可能可以创建一个 JSFiddle 示例。

4

3 回答 3

1
var category = $('.leftColumnNav h4').text();

$(".contentAccordionItemTitle").each(function() {
  if ($(this).text() === category) { $(this).hide() }
})
于 2013-05-15T20:43:56.640 回答
0
var topic = $('.contentAccordionItemTitle p').html();

那条线意味着你得到了所有的 p-tags。如果你想继续这个解决方案,你可以使用 jQuery 的每个函数 -> http://api.jquery.com/each/

      $(".contentAccordionItemTitle").css("display", "none");
  } else {
      $(".contentAccordionItemTitle").css("display", "block");

$(".contentAccordionItemTitle")还获取该类的所有元素。

于 2013-05-15T20:42:42.517 回答
0

你应该使用一个循环,比如每个 jQuery:

var category = jQuery('.leftColumnNav h4').html();
jQuery('.contentAccordionItemTitle p').each(function() {
    if(jQuery(this).html() === category) {
        jQuery(this).parent('.contentAccordionItemTitle').css('display', 'none');
    } else {
        jQuery(this).parent('.contentAccordionItemTitle').css('display', 'block');
    }

这是假设只有一个元素匹配jQuery('.leftColumnNav h4')

于 2013-05-15T20:43:25.690 回答