我正在尝试将复选框父元素(跨度)的类更改为选中。我正在关注these steps,但收到错误消息:
$ checkbox.parentNode.addClass不是一个函数 在HTMLInputElement。
这是website
这是JS代码:
<script type="text/javascript">
document.getElementById("generateVin").addEventListener("click", function(){
var $checkbox = document.querySelectorAll("input[type='checkbox']")[1];
var $span=$checkbox.closest("span");
$checkbox.parentNode.addClass("checked");
});
</script>
答案 0 :(得分:1)
您正在将jQuery与原始JavaScript混合使用。 .addClass()
是 jQuery 方法,这意味着它只能在 jQuery 元素上调用。
$checkbox.parentNode
不是 一个jQuery元素,而是一个标准的JS元素。
如果您致力于使用jQuery,则强烈建议您“一路走好”,而不是来回走动。该代码看起来像这样:
$("#generateVin").on("click", function() {
var $checkbox = $("input[type=checkbox]").eq(1);
var $span = $checkox.closest("span"); //This doesn't seem to be needed
$checkbox.parent().addClass("checked");
});