-3

需要专门抓除一个以外的任何身体课程。通常,我会使用.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课程。停止对合法问题投反对票。

4

3 回答 3

3

只需将其类属性更改为您想要保留的一个类。

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');
于 2013-03-31T21:15:57.917 回答
0

你总是可以使用正则表达式:

var classes = document.body.className.replace(/\btest\b/g, '').split(/\s+/);

然后“类”将是一个类值的数组,但它不会在列表中包含“测试”。

于 2013-03-31T21:31:07.367 回答
0

如果您尝试检索指定类以外的类列表,则应首先构建类列表:

var classes = $('body').attr('class').split(' ');

...然后删除你不想要的:

classes.splice(classes.indexOf('test'), 1)

jsFiddle在这里:http: //jsfiddle.net/7bk78/

于 2013-03-31T21:39:34.577 回答