jQuery点击函数无法正常工作求助:WordPress页面代码修复
修复你的jQuery点击切换类问题
嘿,我瞅了下你的代码,问题出在把原生JS的事件写法和jQuery的回调混在一起啦,这就导致点击事件没正确执行。咱们一步步来修复:
问题根源
你当前的脚本里,在jQuery的click回调函数里写了字符串形式的onclick="this.classList.toggle('toggle');"——这是错误的写法,jQuery的回调函数里需要直接写执行代码,而不是把原生onclick的代码当字符串丢进去。
修复方案
这里给你两种可行的修复方式,选哪个都可以:
方式1:用jQuery的toggleClass方法(推荐,兼容性更好)
<script type="text/javascript"> // 确保DOM加载完成后再绑定事件 jQuery(document).ready(function(){ jQuery('a[href="#nav_menu-10"]').click(function(){ // 用jQuery的toggleClass切换类 $(this).toggleClass('toggle'); }); }); </script>
解释:$(this)是jQuery包装后的当前点击元素,toggleClass是jQuery专门用来切换CSS类的方法,对旧浏览器的兼容性比原生classList更好。
方式2:用原生JS的classList.toggle
如果你更习惯原生写法,也可以直接在回调里调用原生方法:
<script type="text/javascript"> jQuery(document).ready(function(){ jQuery('a[href="#nav_menu-10"]').click(function(){ // 这里的this是原生DOM元素,直接调用classList.toggle this.classList.toggle('toggle'); }); }); </script>
额外提醒
一定要把脚本放在jQuery(document).ready()里(或者把脚本放在HTML页面的底部,比如</body>标签之前),这样能确保当jQuery去查找a[href="#nav_menu-10"]这个元素时,它已经被浏览器加载到DOM里了,不然会出现“找不到元素”的情况,点击事件自然绑定不上。
内容的提问来源于stack exchange,提问作者xuezheng
相关产品推荐
相关产品推荐

