我有以下DOM元素:
<div id="container">
<ul class="block-grid three-up">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
<li>Six</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要做的是让ul有一个类来说明哪些li正在盘旋.到目前为止,我有:
$('#container li').hover(function() {
i = $(this).index() + 1;
// need function to remove all classes that start with n- here
$('#container ul').addClass('n-'+i);
$(this).addClass('active');
}, function() {
// need function to remove all classes that start with n- here
$(this).removeClass('active');
}
);
Run Code Online (Sandbox Code Playgroud)
我需要找到一种方法来删除所有以n-开头的类,因为现在编写的代码只是添加并向ul添加类.我不能简单地删除所有其他类,因为出于结构原因,我需要其他类.而且我知道在removeClasses中没有办法使用通配符.我可以在这里使用某种正则表达式吗?
要回答这个问题,并且只是为了好玩,这里有一个基于他们开始时删除类的插件:
$.fn.removeClassStartsWith = function(param) {
return this.each(function() {
var classes = this.className.split(/\s+/g),
newclasses = [];
$.each(classes, function(_,klass) {
if ( $.trim(klass).indexOf(param) !== 0 )
newclasses.push($.trim(klass));
});
this.className = newclasses.join(' ');
});
}
Run Code Online (Sandbox Code Playgroud)
被称为:
$('elements').removeClassStartsWith('n-');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |