javascript - 将类添加到父跨度元素jquery
问题描述
我正在尝试将复选框父元素(跨度)的类更改为选中。我正在按照这些步骤操作,但出现错误:
$checkbox.parentNode.addClass 不是 HTMLInputElement 中的函数。
这是网站
这是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>
解决方案
您正在将 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");
});
推荐阅读
- javascript - 对于 4,5 或 6 等恒定长度的 javascript 循环,但不适用于 carts.length
- asterisk - 仅提取 Asterisk 上的注册联系信息
- netbeans - Netbeans Msys2 使 Cygwin1.dll 问题
- flutter - 选择项目时,颤振不更新放置在对话框中的 DropdownButton
- windows-10 - Windows 上的 Netbeans 12 不允许我连接 Tomcat
- pytorch - 如何将 AMD GPU 用于 fastai/pytorch?
- java - 建立三个表之间的关系
- asp.net-mvc - 来自本地服务器的 Power BI 报表集成
- javascript - Vuejs Nuxt - 如何修改 facebook 登录按钮样式?
- java - 无法执行shell脚本