jQuery:取消选中JavaScript生成的页面元素

jQuery: Uncheck JavaScript generated page elements

本文关键字:元素 JavaScript 取消 jQuery      更新时间:2023-09-26

我在操作JavaScript生成的html元素时遇到问题。根据用户输入,通过JavaScript生成一个复选框列表,然后用户可以单击取消选中。这是生成的代码:

<ul>
  <li><input name="fruit" id="apple" type="checkbox" checked="checked"></li>
  <li><input name="fruit" id="orange" type="checkbox" checked="checked"></li>
  <li><input name="fruit" id="mango" type="checkbox" checked="checked"></li>
</ul>

为了清除我所有的东西,

<a id="clear" href="#">Clear Fruit</a>

我试着去掉name属性,但jQuery似乎看不到后面生成的元素。获取列表并浏览项目以取消选中复选框的最佳方法是什么?

$('#clear').click(function(e){
    e.preventDefault();
    $('input[name=fruit]').prop('checked', false);
});

小提琴在这儿:http://jsfiddle.net/heyUx/


p.S.如果您使用的是jQuery<1.6您应该使用attr而不是prop:

$('input[name=fruit]').attr('checked', '');

Do:


$('#clear').click(function(e){
    e.preventDefault();
    $('input[name=fruit]').attr('checked', ''); //all checkboxes having name "fruit"
});