javascript - 更改脚本以删除事件 <ul> 目标上的类

标签 javascript jquery custom-data-attribute

在我的水平菜单/子菜单中,我正在编码,subMenuBarWrapper ul 上有一个 class="hidden" ,我想在事件 ul 上删除它在鼠标输入上。 目前我有 .toggle ,这还可以,但我更喜欢“类”方式。有人可以帮我提供可能的解决方案吗?谢谢。

HTML

   <div class="subMenuBarWrapper">
     <ul data-parentid="1" class="hidden">
            <li class="">
                   <a href="etc....</a>
                       </li>
     </ul>
   </div>

JS

 $('.nav_options li a').on('mouseenter', function () {
        var targetmatch = $(this).attr('data-submenunum');
        $('.subMenuBarWrapper ul').each(function () {
        $(this).toggle(targetmatch.length < 1 || $(this).attr('data-parentid').indexOf(targetmatch) > -1);
     });
});

最佳答案

您可以使用完全相同的逻辑并使用toggleClass():

$(this).toggleClass('hidden', targetmatch.length < 1 || $(this).data('parentid').indexOf(targetmatch) > -1);

第一个参数是要使用的类名,第二个参数是一个 bool 值,用于确定是否应将其添加到相关元素或从相关元素中删除。另请注意 .data() 相对于 .attr('data-...')

的使用

关于javascript - 更改脚本以删除事件 <ul> 目标上的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31117486/

相关文章:

javascript - 如何验证 JavaScript 中的中缀表示法?

javascript - 获取 ESLint : Unnecessary escape character

javascript - 如何处理 JS 或 jQuery 页面上的每个链接点击?

javascript - 错误框 div 来来去去

javascript - 如何使 jQuery 对话框在 IE8 中的页面加载时不显示?

使用 querySelectorAll() 的 JavaScript Accordion 菜单

javascript - jQuery 不影响 AJAX 加载的内容

Jquery .animate 不起作用

xml - 如何在 XHTML 中使用 HTML5 数据属性?

javascript - 选择具有数据名称的所有标签 - 获取值 - 设置类