我想从元素中删除动态分配的类,但不知道该类的名称。
例如,如果我有:
<div id="myDiv" class="foo bar unknown"></div>
在这种情况下,未知类将始终位于第3位。
如何使用Jquery实现这一目标?
更多信息:
function hideMyDiv(){
var rnd=Date.now();
$('#myDiv').addClass(rnd);
setTimeout(function(){
$('.'+rnd).hide();
},10000);
}
function overRide(){
$('#myDiv').3rdClass().remove();
}
答案 0 :(得分:2)
你这里做错了,课程顺序无关紧要。
但无论如何你可以做到这一点
var parts = $('#myDiv').attr('class').split(' ');
$('#myDiv').removeClass(parts[2]);
答案 1 :(得分:1)
尝试编写一个带有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(' ');
}
};
您始终可以强制执行您要使用的条件。 的 Check Fiddle 强>
答案 2 :(得分:0)
使用jquery执行此操作:
var _classes = $('a#somelink').attr('class').split(" ");
然后你可以通过该数组循环并删除你想要的数组。
答案 3 :(得分:0)
在一行
$('#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 ...