如何使用javascript在元素的类之间切换
How do i toggle between classes of an element using javascript?
我正试图制作一个脚本,当我单击一次复选框时,它会为复选框的标签设置一个类,当我再次单击它时,它将恢复到第一个类。
这是我的代码:
<label for="img1">
<img class="img1" src="Images/testimg.jpg" onclick="javascript:test()" id="t1" />
</label>
<input type="checkbox" class="chk " id="img1" name="img1" value="1" />
我希望测试函数在被调用时分配类img2,并且当我再次调用它来分配类img1时。
JavaScript
function toggleClass(element, origin, target) {
var newClass = element.className.split(" ");
for (var i = 0, i < newClass.length; i++) {
if (origin.localeCompare(newClass[i]) == 0) {
newClass[i] = target;
};
};
element.className = newClass.join(" ");
};
// Usage
var img = document.getElementById("img1");
toggleClass(img, "img1 img2");
jQuery
$("#img1").toggleClass("img1 img2");
点击此处了解更多信息。
function test() {
t1.className = t1.className == 'img1' ? 'img2' : 'img1';
}
相关:更改元素';带有JavaScript 的s类
如果你不使用jQuery,我会建议你两件事:
- 使用
onclick
属性,在调用函数之前不需要设置javascript:
。如果你使用它,它将不起作用 - 您可以通过如下函数发送元素:
onclick=test(this)
。现在你只需要比较一下他的班级
function testFunction(element) {
if (element.className === 'img1') {
element.className = 'img2';
} else {
element.className = 'img1';
}
}
如果使用多类,请小心,因为您需要将它们添加到类名中。此函数将删除新类名的完整类名。
您可以使用JQuery的toggleClass方法:
function toggler() {
$('#t1').toggleClass('img2 img1')
}
相关文章:
- 操作放置在画布上的元素之间的连接
- DOM元素和angular元素之间的主要区别是什么
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 在 JavaScript 数组中的所有元素之间穿插元素的简洁方法
- 命名一个在“”和“”之间切换元素的函数;启用”;以及“;被禁用”;州
- JS get元素之间的差异's属性与elem.getAttribute(attr)和elem[attr]
- 在2个框之间移动元素
- Javascript集:任何覆盖元素之间比较的方法
- jqmobile列表视图中元素之间的间距相等
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- 如何在两个动画画布元素之间进行通信
- 同一元素的 this.id 值在浏览器之间是不同的
- 第一个元素和最后一个元素之间的连续循环
- 根据DOM,HTML元素的开始和结束标记之间的内容被称为属性.这个房产的名字是什么
- JavaScript/jQuery在两个iframe之间拖放元素
- 边距和输入元素边框之间的填充颜色
- 隐藏元素:Javascript属性和CSS样式之间的区别
- 使用AngularJS在Bootstrap选项卡之间移动DOM元素
- 在元素之间导航的Javascript