我需要接收一个元素的类。另一个插件向元素插入第二个类,但我不想接收第二个类。到目前为止,我有:
target_text = $(this).attr("class");
目前返回:
some-class sfHover
我不想让班级“sfHover”。如何从变量中删除它?
(我想要获取的类是动态生成的,因此我无法监听特定的名称,只能使用它们。)
由于
答案 0 :(得分:2)
var target_text = this.className.replace(/sfHover/, "");
答案 1 :(得分:2)
与Tomalak的回答类似:
你的jQuery语句返回一个字符串(jQuery attr()
方法返回一个字符串),所以你应该用简单的javascript来操作它:
target_text = $(this).attr("class").replace('sfHover ','');
答案 2 :(得分:0)
如果你总是知道你的班级将是第一名,并且你总是知道它将有一个班级:
target_text = this.className.split(' ')[0]
当你做简单的DOM时,不需要jQuery方法。
注意如果项目没有类,上面会出错(我认为,className将为null)。可能更安全
target_text = this.className && this.className.split(' ')[0]
此外,根据您要执行的操作,您可能需要考虑重构代码以不在DOM中存储状态。尽量避免在DOM中存储信息,这很昂贵而且DOM很难看。
答案 3 :(得分:-1)
如果您只想要第一堂课,请尝试:$(this).attr("class").get(0)