<td>
<input id="check" type="checkbox" name="del_attachment_id[]" value="<?php echo $attachment['link'];?>">
</td>
<td id="delete" hidden="true">
the file will be deleted from the newsletter
</td>
我想知道当选中或未选中复选框时,如何在Jquery中将“hidden”属性更改为false。
答案 0 :(得分:26)
$(':checkbox').change(function(){
$('#delete').removeAttr('hidden');
});
注意,感谢A.Wolff
提示,您应该使用removeAttr
而不是设置为false。设置为false时,该元素仍将被隐藏。因此,删除更有效。
答案 1 :(得分:15)
您可以使用jquery attr方法
$("#delete").attr("hidden",true);
答案 2 :(得分:10)
一个。沃尔夫带领你走向正确的方向。有几个属性不应该设置字符串值。您必须使用布尔值true
或false
切换它。
.attr("hidden", false)
将删除与使用.removeAttr("hidden")
相同的属性。
.attr("hidden", "false")
不正确,标签仍然隐藏。
您不应该将hidden
,checked
,selected
或其他几个设置为任何字符串值来切换它。
答案 3 :(得分:5)
使用 prop()
更新隐藏属性,使用 change()
来处理更改事件。
$('#check').change(function() {
$("#delete").prop("hidden", !this.checked);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td>
<input id="check" type="checkbox" name="del_attachment_id[]" value="<?php echo $attachment['link'];?>">
</td>
<td id="delete" hidden="true">
the file will be deleted from the newsletter
</td>
</tr>
</table>