0

如何检查 id 为 #showLogo 的 div 是否存在于父 li 中,其类为“image-rollover”?我不能使用 children().length,因为此列表项的子项数量会有所不同。有没有办法直接根据div的id进行检查?

我需要的是这样的:

$('li.image-rollover a').mouseover(function() {
    if ($(this).children('#showLogo')) { 
    showLogo();
    } else { 
    hideLogo();
    }       
});

这可能吗?

4

3 回答 3

1

如何使用上下文?

$('li.image-rollover a').mouseover(function() {
    if ($('#showLogo', this).length) { 
        showLogo();
    }
    else { 
        hideLogo();
    }       
});

请记住,页面上应该只有一个#showLogo

于 2012-09-05T21:21:36.603 回答
1

请参阅以下内容:

https://jsfiddle.net/JokerDan/m8n5ay1a/

使用.isJQuery 中的方法可以查看元素是否具有特定的 .class、状态(例如:hidden)或 #id 等等。

在此示例中,有一个小列表,当您将已定义 id 的项目(在本例中为“#showLogo”)滚动到其中时,您将收到一条警报,指出已检测到该 ID。只需将警报换成所需的代码并完成“其他”逻辑!

$('li.image-rollover a').mouseover(function() {
  //console.log($(this).is('#showLogo'));
  if ($(this).is('#showLogo')) {
    alert("Roll Over Has ID 'showLogo'");
  } else {

  }
});
于 2016-02-02T15:25:30.710 回答
0

我对你的问题不是很清楚..但试试

$('#showLogo').parent().hasClass('image-rollover')
于 2012-09-05T21:12:07.480 回答