parentNode类未删除

时间:2015-02-05 09:47:14

标签: javascript jquery dom

我需要从当前节点的父<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>

2 个答案:

答案 0 :(得分:1)

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

我建议您使用jQuery来执行此操作

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

如果您知道checked类始终存在,那么您也可以跳过该条件。

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

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

希望这会有所帮助:)

答案 1 :(得分:0)

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

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

完全取消其工作后。

谢谢大家。