Javascript Jquery从元素中删除第n个类
我想从元素中删除动态分配的类,但不知道该类的名称 例如,如果我有:Javascript Jquery从元素中删除第n个类,javascript,jquery,html,Javascript,Jquery,Html,我想从元素中删除动态分配的类,但不知道该类的名称 例如,如果我有: 在这种情况下,未知类将始终位于位置3 如何使用Jquery实现这一点 更多信息: 你在这里做错了什么,课程的顺序应该不重要 但无论如何,你可以做到这一点 var parts = $('#myDiv').attr('class').split(' '); $('#myDiv').removeClass(parts[2]); 使用jquery执行此操作: var _classes = $('a#somelink').attr
在这种情况下,未知类将始终位于位置3
如何使用Jquery实现这一点
更多信息:
你在这里做错了什么,课程的顺序应该不重要 但无论如何,你可以做到这一点
var parts = $('#myDiv').attr('class').split(' ');
$('#myDiv').removeClass(parts[2]);
使用jquery执行此操作:
var _classes = $('a#somelink').attr('class').split(" ");
然后,您可以循环通过该阵列并删除所需的阵列。在一行中
$('#myDiv').removeClass($('#myDiv').attr('class').split(' ')[2]);
解释:
$('#myDiv') //jQuery selector
.removeClass //removed the named class
$('#myDiv') //jQuery selector
.attr('class') //get the class attribute of the element
.split(' ') //split it into an array, with the perpetrator being a blank space aka ' '
[2] //get the 3rd item in the array, remember it counts from 0, aka 0, 1, 2, 3, 4 ...
尝试编写一个将接受DOM元素的小助手方法
function removeClass(elem) {
var c = elem.className.split(' '),
cName;
if (c && c.length > 0) {
cName = c.splice(0, c.length - 1);
elem.className = cName.join(' ');
}
};
您始终可以强制执行要使用的条件。
为什么/如何不知道您自己正在分配的类的名称?我有一个函数,通过添加类
x
,然后添加$('.x')。hide
,可以在设置超时后隐藏div,该操作可以通过删除x
来覆盖。同一个函数可以添加另一个随机类,因此您是否确实知道其他两个类?直接将className属性设置为您想要的值可能更容易:document.getElementById(“myDiv”).className='foobar'代码>这整个方法充其量看起来很脆弱,很容易出现错误。与其为此劫持类,为什么不使用适当的数据属性呢?例如,
。
function removeClass(elem) {
var c = elem.className.split(' '),
cName;
if (c && c.length > 0) {
cName = c.splice(0, c.length - 1);
elem.className = cName.join(' ');
}
};