【发布时间】:2016-02-01 01:30:58
【问题描述】:
我正在尝试创建一个函数,该函数将通过程序添加的 div.hb-menu-subMenuToggle 元素的“onclick”事件触发。该函数在将初始选择器用作除 '$(this)' 之外的任何内容时起作用
// FUNCTION: hbMenuSubToggle()
// Toggles CSS classes for animation of .hb-menu-sub-open. Fires when clicking the div element with .hb-menu-subMenuToggle class
function hbMenuSubToggle(){
// TESTING: This works as far as opening the submenus; however, it does not open only the submenu that is a direct sibling of the hb-menu-subMenuToggle element.
$('a.withSubmenu').siblings('ul').toggleClass('hb-menu-sub-open');
// DESIRED EFFECT: Does not work
$(this).siblings('ul').toggleClass('hb-menu-sub-open');
};
这是一个链接 Codepen Project
任何帮助将不胜感激!
【问题讨论】:
-
用一个变量改变
$(this),并使用该变量作为函数的参数。 -
摆脱
onclick并使用 jQuery 事件处理程序。使用突兀的脚本和不突兀的结合是没有意义的。onclick仅在您传入this作为参数时才提供元素访问权限
标签: javascript jquery jquery-selectors this