替换class's后缀,同时保留其前缀
Replace the class's suffix while preserving its prefix
我想替换类的后缀,同时保留其前缀
演示:http://jsbin.com/vozufura/4/edit
所需的代码应该使所有的div黑色。所以:
- class= menu-456 AND menu-789应被替换为menu-123
- 所有的div都应该是黑色的
<div class="menu-123">black</div>
<div class="menu-456">green</div>
<div class="menu-789" >red</div>
CSS: .menu-123 {
background: black;
}
.menu-456 {
background: green;
}
.menu-789 {
background: red;
}
Javascript (Jquery): /* I am not looking for javascript like removeClass nor addClass,
nor do i want to change the background.
I wanted to know if it is possible to REPLACE the suffix of a class*/
结合使用jQuery提供的removeClass()和addClass()函数,如下所示:
$(document).ready(function(){
$(".menu-456,.menu-789").removeClass("menu-456 menu-789").addClass("menu-123");
});
这段代码在加载DOM时运行,它的作用如下:
- 选择所有类为
menu-456
或menu-789
的元素。 - 从这些元素中移除
menu-456
和menu-789
类。 - 它给元素类
menu-123
。
小提琴
你的jqueryJS:
$(document).ready(function () {
$('[class^=menu-]').not('.menu-123').removeClass().addClass('menu-123');
});
你可以添加class和removeClass
使用jQuery很容易更改和搞乱类。看看。addclass . removeclass。
您可以使用属性包含选择器或属性包含前缀选择器在代码中更通用和有效。
例如,如果您希望menu-123
是元素上唯一的新类:
$("div[class|='menu']").attr('class', 'menu-123');
或者,如果你想更聪明一点:
$("div[class|='menu']").attr('class', function(i, c){
return c.replace(/(^|'s)menu-'S+/g, 'menu-123');
});
感谢这个答案
相关文章:
- 分派点击事件并保留击键修饰符
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 提交后保留下拉选择的值
- 刷新后保留对网页的更改
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- jQuery's trim()的前缀为not运算符
- 使用递归属性迭代保留属性结构
- Jquery html() 和保留元素名称
- 如何将字符串拆分为字符,但在javascript中保留空格
- 离开页面导航后保留文本区域内容
- 在jquery中生成一个自动前缀编号
- 如何在使用JavaScript或jQuery刷新父页面后保留iframe-src
- 使用querySelectorAll为图像源添加前缀
- Javascript和RegEx:拆分并保留分隔符
- 如何生成保留标点符号的简单字谜
- 如何设置类型化对象的属性,同时保留它's类型
- 关闭谷歌地图中推荐的骑行道路,但保留专用自行车道
- 替换class's后缀,同时保留其前缀