parentNode类未删除

parentNode Class Not Removing

本文关键字:删除 parentNode      更新时间:2023-09-26

我需要从当前节点的父<span>中删除一个类。我将当前节点命名为行。控制台rows.parentNode获取DOMTokenList["checked"]时。如何从中删除checked类?

我试过rows.parentNode.classList.remove("checked"),但不起作用。

HTML

<span class="checked">
        <input type="checkbox" data-orginal="14" data-vxp="50" value="14" data-amount="75" name="expenses" class="old_expenses">
</span>

classList返回一个DOMTokenList,该列表可用于向元素添加/删除类。但正如您在这里看到的,它只在最新的浏览器中受支持。

我建议你用jQuery来做这个

var $parent = $(rows.parentNode);
if( $parent.hasClass('checked') ){
   $parent.removeClass('checked');
}

如果您知道checked类总是存在的,那么也可以跳过If条件。

如果你只想使用javascript,我建议你做这样的

var  parent = rows.parentNode,
     classNames = parent.className;
var newList = classNames.replace('checked','');
parent.className = newList;

希望这有帮助:)

问题是我在rows.parentNode.classList.remove("checked")之后调用uniform()来更新列表。

$('#checkbox').find('input[type=checkbox]').uniform();

拆下后工作正常。

谢谢大家。