如何在jquery中更改属性“hidden”

时间:2015-06-12 17:14:24

标签: javascript jquery

<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。

4 个答案:

答案 0 :(得分:26)

$(':checkbox').change(function(){
    $('#delete').removeAttr('hidden');
});

注意,感谢A.Wolff提示,您应该使用removeAttr而不是设置为false。设置为false时,该元素仍将被隐藏。因此,删除更有效。

答案 1 :(得分:15)

您可以使用jquery attr方法

$("#delete").attr("hidden",true);

答案 2 :(得分:10)

一个。沃尔夫带领你走向正确的方向。有几个属性不应该设置字符串值。您必须使用布尔值truefalse切换它。

.attr("hidden", false)将删除与使用.removeAttr("hidden")相同的属性。

.attr("hidden", "false")不正确,标签仍然隐藏。

您不应该将hiddencheckedselected或其他几个设置为任何字符串值来切换它。

答案 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>