如何更改jquery中的“隐藏”属性

问题描述 投票:0回答:5
<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 中的“隐藏”属性更改为 false。

javascript jquery
5个回答
69
投票
$(':checkbox').change(function(){
    $('#delete').removeAttr('hidden');
});

注意,感谢

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


68
投票

您可以使用jquery attr方法

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

18
投票

A.沃尔夫正在引导你走向正确的方向。有几个属性不应设置字符串值。您必须使用布尔值

true
false
来切换它。

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

.attr("hidden", "false")
不正确,标签保持隐藏状态。

您不应将

hidden
checked
selected
或其他几个设置为任何字符串值来切换它。


12
投票

使用

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>


0
投票

$('#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>

更改图像背景

© www.soinside.com 2019 - 2024. All rights reserved.