2010-07-18 42 views
2

我有下面的代码:如何从第二部分班级设置中删除一个类值

if((String(parent).length > 0) && (String(this.className).length > 0)) { 

其中this.className包含值“顶currentMenu”

使用this.className名,我需要一种从this.className中删除“currentMenu”的方法,只使用jQuery,这样该类名的最终结果就是“top”

任何帮助都会很棒。

谢谢。

+0

旁注:你不需要'String(this.className).length'。 'className'属性已经是一个字符串,所以你不需要从它明确创建一个新的字符串。只需使用'this.className.length'。 – 2010-07-18 14:43:20

回答

14

很简单,就是:

$(this).removeClass('currentMenu') 

参考:.removeClass


在普通的JavaScript,你可以这样做:

function removeClass(node, cls) { 
    if(node && node.className && node.className.indexOf(cls) >= 0) { 
     var pattern = new RegExp('\\s*' + cls + '\\s*'); 
     node.className = node.className.replace(pattern, ' '); 
    } 
} 

或者我不明白你的问题: )

+0

嗨菲利克斯,试过这个,但没有工作。我想我需要实际使用this.className,然后从这个“currentMenu”类名称中删除。 – tonyf 2010-07-18 14:42:11

+0

@tonsils:你的意思是你试过'$(this).removeClass()'?这绝对有效,你一定在做错事。你能发布更多的代码吗?你在做什么?在调用jQuery函数之前,不要忘记将'this'传入'$()'。 – 2010-07-18 14:43:15

+0

是否有通过传递第二个参数来实现简单jQuery的removeClass函数? – tonyf 2010-07-18 14:44:13

相关问题