根据事件替换类
Replace class depending on event
如果有一组可折叠的元素,我需要替换类left和right取决于事件isCollapse:
<div class="collapsible-set">
<div class="collapsible">
<h3>
<a class="left">
<span class="left"></span>
</a>
</h3>
</div>
<div class="collapsible">
<h3>
<a class="right">
<span class="right"></span>
</a>
</h3>
</div>
</div>
我需要切换类。有没有比我的方法更简单的方法?
if (collapse) {
$('.left').addClass('topLeft').removeClass('left');
$('.right').addClass('topRight').removeClass('right');
} else if (!collapse) {
$('.topLeft').addClass('left').removeClass('topLeft');
$('.topRight').addClass('right').removeClass('topRight');
}
一定有更简单的方法来做到这一点,而不用写这么多代码…
查看toogleClass http://api.jquery.com/toggleClass/
$('.collapsible:eq(0)').find('a').toggleClass('topLeft').toggleClass('left');
$('.collapsible:eq(1)').find('a').toggleClass('topRight').toggleClass('right');
应该可以了
$(".collapsible").find(".topLeft, .left").toggleClass("topLeft", collapse).toggleClass("left", !collapse);
$(".collapsible").find(".topRight, .right").toggleClass("topRight", collapse).toggleClass("right", !collapse);
相关文章:
- 替换的超时事件触发两次或两次以上(有时)
- 单击事件在替换<使用>元素在<svg>(Win7/IE11)
- 事件在替换为 JQuery 替换与()后未触发
- 在视图被替换后,主干视图事件未激发,然后放回页面上
- jQuery - 追加/替换事件侦听器(当事件处理程序未知时)
- jquery:替换 onclick 事件
- 如何使用 jquery 替换点击事件上的文本
- 在 .click() 事件到 .get() 页面上并替换 jquery 中的 .html()
- Opencart 过滤器添加 onclick 事件以替换提交按钮
- 如何将 OWL 轮播图片替换为点击事件时的嵌入代码
- 替换输入元素只会在 Chrome 中导致 onchange 事件
- 事件调用在 ajax 替换元素后多次
- Javascript:替换 html 中的字符串,而不破坏未来事件处理程序的元素
- 在显示事件后替换 CKEditor 对话框中的元素
- 如何将点击事件替换为 GreaseMonkey
- 使用 Jquery 将子字符串替换为段落中的 html 元素,而不会弄乱出现的事件
- 将传统的事件调用替换为 JavaScript 事件侦听器
- 在不触发事件的情况下替换剑道ObservableArray的内容
- 我如何替换像twitter或facebook这样的keydown事件上的hash标签.javascript//jquer
- 如何替换事件页面扩展中的短(不到一分钟)setTimeouts