除了一个专门的人之外,还需要抓住任何身体类别。通常,我会使用.split()
,但类的位置可能会改变。处理这个问题的最佳方法是什么?
HTML:
<body class="one two test"> || <body class="test three four">
JavaScript的:
bod.attr('class').split('test')[0] || bod.attr('class').split('test')[1]
谢谢!
更新:
我无法删除test
类。停止低估合法的问题。
答案 0 :(得分:3)
只需将其class属性更改为您想要保留的一个类。
bod.attr('class', 'test')
除非你还需要所有其他类的名字......
var otherClasses = bod.attr('class').split('test'); // either 1 or 2 element array (assuming your class name only shows up once)
bod.attr('class', 'test');
答案 1 :(得分:0)
您可以随时使用正则表达式:
var classes = document.body.className.replace(/\btest\b/g, '').split(/\s+/);
然后“classes”将是类值的数组,但它不会在列表中包含“test”。
答案 2 :(得分:0)
如果您正在尝试检索指定类以外的类列表,则应首先构建类的列表:
var classes = $('body').attr('class').split(' ');
...然后删除你不想要的那个:
classes.splice(classes.indexOf('test'), 1)
jsFiddle这里:http://jsfiddle.net/7bk78/