我想替换
div class =" rich fomat2 type-a"与
div class =“standard format1 type -a”
但我只能在加载时更改html,因为我使用的网站创建的软件会自动输出html。所以我使用了函数onload()。
我尝试过.attr()以及.getElementsByClassName()但是都没有用。 我哪里错了?有帮助吗?
function onload() {$('div') .attr('rich format2 type-a', ' standard format1 type-a') ; } window.onload =onload; }
window.onload = onload;
function onload(){
var els = [].slice.apply(document.getElementsByClassName("rich format2 type-a"));
for (var i = 0; i < els.length; i++) {
els[i].className = els[i].className.replace(/ *\brich format2 type-a\b/g, "standard format1 type-a");
} window.onload = onload;
答案 0 :(得分:1)
你会有一个带有类的div
<div class="abc"></div>
在jQuery中,您可以执行以下操作
$('.abc').removeClass('abc').addClass('newClass');
让我们说你的div看起来像这样
<div class="a b c"></div>
这实际上意味着,你div包含3个不同的类。因此,必须这样称呼。
$('.a.b.c').removeClass('a').removeClass('b').removeClass('c').addClass('newClass');
希望它有所帮助。 纳斯
答案 1 :(得分:0)
.attr()
此功能用于获取/设置属性。
第一个字段是属性的名称,可选第二个是新值。
$("div").attr("class", "def");
请注意,该属性的名称是class,因此第一个字段的值为&#34; class&#34;。
由于您只想选择具有类.abc
的div,请将其放在选择器中:
$("div.abc").attr("class", "def");
@adeneo指出的代码中存在的另一个主要错误是类中不能包含空格。
class="a b c"
暗示&#34;使用类.a, .b, and .c
&#34;
因此,.getElementsByClassName()
失败。
如果是这样,您可以使用组合的类选择器:
$("div.a.b.c").attr("class", "def");
答案 2 :(得分:0)
检查jQuery toggleClass - https://api.jquery.com/toggleClass/
jQuery(function($){
$("div")
.toggleClass('a b c');
.toggleClass('d e f');
});
答案 3 :(得分:0)