Add/Remove Class 来自 ServiceNow 中的 DIV

Add/Remove Class from DIV in ServiceNow

我有一个 DIV 如下所示:

<div class="col-xs-6 form-field input_controls">

</div>

我想把col-xs-6改成col-xs-12。我尝试使用以下代码:

$('div').removeClass("col-xs-6 form-field input_controls").addClass("col-xs-12 form-field input_controls");

但我收到一条错误消息:

Uncaught TypeError: Cannot read property 'removeClass' of null.

我不是前端人员,所以 jQuery 超出了我的范围。

只需使用document.ready函数

$(document).ready(function(){
   $('div').removeClass("col-xs-6 form-field input_controls").addClass("col-xs-12 form-field input_controls");
});

执行 javascript 时,您的 DOM 结构似乎还没有准备好。所以,你需要添加一个就绪事件:

$(function(){
  $('div').removeClass("col-xs-6 form-field input_controls").addClass("col-xs-12 form-field input_controls");
});

您不需要删除所有 classes 并再次添加它们,以下内容就足够了:

$(function(){
    $('div').removeClass('col-xs-6').addClass('col-xs-12');
});

jQuery 将在 div 元素的末尾附加 class col-xs-12

事实证明,我为 jQuery 使用了正确的代码,但是,平台 ServiceNow 将 jQuery 分配给 $j 变量,因此它不会与其他 [=14] 冲突=] 原型。我能够正确使用和执行的代码如下:

$j(document).ready(function(){
    if($j('div.col-xs-6.form-field.input_controls').hasClass('col-xs-6')){
        $j('div.col-xs-6.form-field.input_controls').removeClass('col-xs-6').addClass('col-xs-12');
    }

});