javascript - 如果同级元素 hasClass,则在悬停时执行某些操作

标签 javascript jquery

我有一个列表,每个列表都包含一个链接和一个图像。有些图像具有其他图像没有的类别。

<ul>
  <li>
    <a>link 1</a>
    <img src="http://foo.com/" />
  </li>
  <li>
    <a>link 2</a>
    <img src="http://foo.com/" />
  </li>
  <li>
    <a>link 3</a>
    <img src="http://foo.com/" class="myClass" />
  </li>
</ul>

我想在这些链接悬停时执行某些操作,但前提是关联的图像具有该类。

这是我目前正在尝试的:

$('ul li a').hover(
    function() {
        if ($(this).siblings('img').hasClass('.myClass')) {
                console.log('it has the class');
        }
});

正确的语法是什么?

最佳答案

您不应将 . 传递给 hasClass 方法,请将其删除。

if ($(this).siblings('img').hasClass('myClass')) {

如果类不是动态添加/删除的,您还可以使用.filter()方法:

$('ul li a').filter(function() {
    // return $(this).siblings('img').hasClass('myClass');
    return this.nextElementSibling.className.indexOf('myClass') > -1;
}).hover(function(){
    // ...
});

+相邻选择器

关于javascript - 如果同级元素 hasClass,则在悬停时执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18816955/

相关文章:

javascript - 动态添加输入 jquery

javascript - 如何更改 mottie 虚拟键盘中自定义键的显示名称

javascript - 如何将文本放回文本区域,该文本保存在 session 中并带有换行符。

javascript - 有没有办法为 HTML 输入范围类型添加千位分隔符?

javascript - Lodash:差异函数,但基于 JSON 格式

javascript - 导出 DOM 的当前样式

javascript - AngularJS - 更改指令的范围

javascript - 在 iframe 顶部跟踪滑动

javascript - 动态添加时 onKeydown 不起作用

javascript - 如何让我的幻灯片在缩小时保护其纵横比?