jquery - 检查、比较数据值并添加类

标签 jquery

我尝试检查当前悬停的元素并向具有相同数据值的 div 添加类

<a data-toggle="tooltip" title="Złącze słuchawkowe" data-id="#dialog1"
   class="single-image-item single-image-item-1" href="#" data-value="Headphones Plug">
     <i>1</i>
</a>
<a data-toggle="tooltip" title="Złącze słuchawkowe" data-id="#dialog2"
   class="single-image-item single-image-item-1" href="#" data-value="Charging Port">
     <i>1</i>
</a>

<div class="single-hot-spot-item" data-value="Headphones Plug">
     <span class="hot-spot-single-item hot-spot-item-1">1 </span>
     <p class="hot-spot-item-description">Złącze słuchawkowe</p>
</div>
<div class="single-hot-spot-item" data-value="Charging Port">
     <span class="hot-spot-single-item hot-spot-item-1">1 </span>
     <p class="hot-spot-item-description">Złącze słuchawkowe</p>
</div>

最好的方法是什么?

最佳答案

您可能想保留您的 <div>由 data-value 属性索引,然后使用 jQuery.hover(fn)切换。

(function($) {
  // building this can be one-liner, but lazy
  sections = {}
  $('div').each(function() {
    sections[$(this).data('value')] = this;
  });
  $('a').hover(function(event) {
    const section = sections[$(this).data('value')];
    $(section).toggleClass('hover', event.type == 'mouseenter');
  });
}(jQuery));
.hover {
  background-color: blue
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a data-toggle="tooltip" title="Złącze słuchawkowe" data-id="#dialog1"
   class="single-image-item single-image-item-1" href="#" data-value="Headphones Plug">
     <i>1</i>
</a>
<a data-toggle="tooltip" title="Złącze słuchawkowe" data-id="#dialog2"
   class="single-image-item single-image-item-1" href="#" data-value="Charging Port">
     <i>1</i>
</a>

<div class="single-hot-spot-item" data-value="Headphones Plug">
     <span class="hot-spot-single-item hot-spot-item-1">1 </span>
     <p class="hot-spot-item-description">Złącze słuchawkowe</p>
</div>
<div class="single-hot-spot-item" data-value="Charging Port">
     <span class="hot-spot-single-item hot-spot-item-1">1 </span>
     <p class="hot-spot-item-description">Złącze słuchawkowe</p>
</div>

关于jquery - 检查、比较数据值并添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60720011/

相关文章:

javascript - 转换数据表列日期格式

javascript - 调用选项卡时调用脏表单检查

jQuery 绑定(bind)元素可见性与条件

javascript - 如何在提交之前延迟输入提交按钮几秒钟

javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after

javascript - 包括 jQuery/Ajax 函数的成功/失败

javascript - 删除检测窗口大小并添加自动高度?

php - 我无法停止当前通过ajax调用在提供的网页上播放音频

jquery - 网页不在网站上显示图像。仅限谷歌浏览器

jquery - 单击而不刷新页面后关闭悬停子菜单