HTML
我正在尝试创建一个todolist应用程序。我希望通过淡入淡出过渡来删除每个任务列表。我已经实现了它,但我的代码的问题是它只隐藏了第一个div区域。
<div id="task">
<input type="checkbox" id="completed">
<h2>Buy some fruits</h2>
</div>
<div id="task">
<input type="checkbox" id="completed">
<h2>Buy some fruits</h2>
</div>
JQuery的
$("#completed").change(function(){$("#item").fadeToggle("fast", "linear")});
答案 0 :(得分:5)
请勿在同一页面上使用mutipple id's
使用class
代替
<div class="task">
<input type="checkbox" class="completed">
<h2>Buy some fruits</h2>
</div>
<div class="task">
<input type="checkbox" class="completed">
<h2>Buy some fruits</h2>
</div>
$(".completed").change(function(){$("#item").fadeToggle("fast", "linear")});
// same apply to your #item
答案 1 :(得分:0)
您不应该有多个具有相同id
的元素。该属性的重点是唯一标识元素。
将其替换为:
<input type="checkbox" class="completed">
相应的javascript:
$(".completed").change(function(){$("#item").fadeToggle("fast", "linear")});
这应该解决你的问题。
答案 2 :(得分:0)
试试这个:
<div>
<input type="checkbox" class="checkbox">
<h2>Buy some fruits</h2>
</div>
<div>
<input type="checkbox" class="checkbox">
<h2>Buy some fruits</h2>
</div>
<script type="text/javascript">
$(".checkbox").change(function(){$(this).parent().fadeToggle("fast", "linear")});
</script>
OR
<div>
<input type="checkbox">
<h2>Buy some fruits</h2>
</div>
<div>
<input type="checkbox">
<h2>Buy some fruits</h2>
</div>
<script type="text/javascript">
$("input[type=checkbox]").change(function(){$(this).parent().fadeToggle("fast", "linear")});
</script>
答案 3 :(得分:0)
id
相同。
您可以使用class而不是id
。
如下所示
$(".completed").change(function(){ } $(this).hide();});
请按照
修改此代码