javascript - 在动态创建的元素中查找复选框的值

标签 javascript jquery html dom

所以,我正在编写一些动态创建一些 DOM 元素的 JS。下面是创建的元素的结构:

<div class='list_item' key='1'>
    <p>Hello, World!</p>
</div>

<div class='cont' key='1'>
    <input type='checkbox' name='test'/>
</div>

当事件被触发时,我想循环遍历所有.list_item,并使用key属性找到它们对应的.cont作为标识符。我想找到 .cont > input[type="checkbox"] 的值。

这是我到目前为止的代码:

$('.list_item').each(function() {
    var x = $('.cont[key="' + $(this).attr('key') + '"]').find('input[type="checkbox"]').prop('checked');
    console.log(x);
});

我的代码没有得到 truefalse 响应,而是抛出 undefined 作为其结果。我可以对我的代码执行什么操作才能获得我想要的响应(复选框的值)?

谢谢

最佳答案

两个问题:

  1. 您忘记关闭属性选择器

  2. 您忘记了类选择器中 cont 之前的 .

所以:

$('.list_item').each(function() {
    var x = $('.cont[key="' + $(this).attr('key') + '"]').find('input[type="checkbox"]').prop('checked');
// ------------^--------------------------------------^
    console.log(x);
});

请注意,您可以使用单个选择器而不是 find 来完成此操作:

$('.list_item').each(function() {
    var x = $('.cont[key="' + $(this).attr('key') + '"] input[type="checkbox"]').prop('checked');
    console.log(x);
});

示例:

$('.list_item').each(function() {
  var x = $('.cont[key="' + $(this).attr('key') + '"] input[type="checkbox"]').prop('checked');
  console.log(x);
});
<div class='list_item' key='1'>
  <p>Hello, World!</p>
</div>

<div class='cont' key='1'>
  <input type='checkbox' name='test' />
</div>

<div class='list_item' key='2'>
  <p>Hello, World!</p>
</div>

<div class='cont' key='2'>
  <input type='checkbox' name='test' />
</div>

<div class='list_item' key='3'>
  <p>Hello, World!</p>
</div>

<div class='cont' key='3'>
  <input type='checkbox' name='test' checked/>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 在动态创建的元素中查找复选框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41409094/

相关文章:

javascript - 从历史记录和浏览器后退按钮中删除哈希位置

javascript - 我可以缩短这个 jquery 代码吗

javascript - 查看 HTML 高度是按样式还是按内容设置的

javascript - 如何在单个元素上重复使用addClass和removeClass?

javascript - 具有多个值的 SELECT 标记中的选项?

javascript - 按钮搜索或过滤

javascript - 如何有条件地将引荐来源网址重定向到不同的网页?

php - 如何提供 2 个打印选项?

javascript - 文本掩盖了背景

javascript - 出于某种原因,我的 D3 map 显示颠倒了 - 我该如何翻转它?