首页 > 解决方案 > 如何解决“有不是功能”的错误?

问题描述

我想获取包含已检查输入的元素。我得到了所有元素for of并尝试了这段代码,但它给出了错误has is not a function

问题是什么?请帮助我,谢谢。

这是我的代码:

for (const x of allDiv) {
  if (x.has($('input').is(':checked'))){ 
    console.log(x.parentElement.textContent)
  }
}

标签: javascriptjquery

解决方案


is()返回一个布尔值,因此您的代码正在寻找true/false内的值x,我认为这与您的目标不符。使用for/of来迭代可能是 Element 或 jQuery 对象也有点可疑。

实现您需要的更有效的方法是直接选择元素。

// this assumes 'allDiv' is a jQuery object holding multiple 'div' elements
allDiv.filter(':has(:checkbox:checked)').each(function() {
  console.log($(this).text());
})

推荐阅读