jquery - 无法让 .next() 工作

标签 jquery

我正在尝试添加一个类,以便跨度文本在悬停时显示, 但仅适用于该特定图像,而不是同时适用于所有图像。

我可以让它立即向所有跨度添加类,但是当我尝试将其限制为仅悬停的跨度时,什么也没有发生。问题似乎是当我添加 .next('span') 时 - 尽管我不知道为什么。

谁能告诉我我在这里做错了什么?

    $('.scroller-image').hover(function() {

         $(this).next('span').addClass('hover');
         }, function() {
         $(this).next('span').removeClass('hover');

    });

这是标记:

<div class="scroller-image">
    <span>image title</span>
    <img src="#" alt="#" />
</div>

最佳答案

next()选择下一个兄弟元素 - 而不是子元素。你想要的是这个 children()

$(this).children('span')// <-- this find direct children spans

find()

$(this).find('span')  //<-- this finds all descendent spans

关于jquery - 无法让 .next() 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725342/

相关文章:

jquery - 按名称搜索但按ID保存

javascript - 在 jQuery 中全局定义一个函数

javascript - 使用 jQuery 从选择框中获取值

javascript - 为什么在 AJAX/JavaScript 运行后我的 CSS/布局发生变化?

JavaScript 从数组对象中获取值不起作用

JavaScript 图像背景

javascript - 使用jquery将动态数据附加到表体中

javascript - 如何将 "inject"partialView元素转化为DOM添加jQuery代码?

asp.net - ASP .NET MVC;返回 HTML 和 JavaScript

javascript - 为什么打印时我的 clientWidth 会改变?