gpt4 book ai didi

jquery - 使用jquery隐藏动态添加的div

转载 作者:行者123 更新时间:2023-12-01 01:39:26 25 4
gpt4 key购买 nike

下面的 jquery 代码将在页面加载时隐藏以 -value-wrapper 结尾的 div。我的问题是,“添加更多值”按钮将附加另一行(数字递增)。当它发生时,所有的 div 都会被显示。有没有办法既隐藏原来的内容,又隐藏新集中的内容?

html 标记如下所示:

<div id="group-information-items">
<fieldset>
<legend>Member Information</legend>
<label>Form label 1</label>
<table>
<tr>
<td>
<div class="form-radios">
<input type="radio" class="form-radio" checked="checked" value="0" name="gci[0][fa][value]" id="edit-gci-value-0"> A
<input type="radio" class="form-radio" value="1" name="gci[0][fa][value]" id="edit-gci-value-0">B
</div>

<!-- This is the div that is hidden -->
<div id="edit-gci-0-fa-list-value-wrapper" class="form-item">
<label>List: </label>
<textarea name="gci[0][fa_list][value]" rows="5" cols="60"></textarea>
</div>

</td>
</tr>
</table>

<!-- WHEN THIS BUTTON IS CLICKED, A CLONE OF THE ROW ABOVE IS APPENDED TO THE TABLE -->
<!-- THE ONLY DIFFERENCE IS [0] BECOMES [1] AND SO ON -->
<div class="content-add-more clear-block">
<input type="submit" value="Add more values" id="edit-gci-add-more" name="gci_add_more">
</div>
</fieldset>
</div>

执行初始隐藏的代码如下:

$("#group-information-items div").each(function() {
$("div[id$='-value-wrapper']").each(function() {
$(this).hide();
});
});

最佳答案

首先,除非我遗漏了什么,否则您可以大大简化隐藏代码:

$("#group-information-items").find("div[id$='-value-wrapper']").hide();

但这引出了一个问题。为什么不设置常规静态样式,以便隐藏这些 div 中的任何一个的默认条件?作为一种实践,将默认样式与页面元素的默认逻辑状态对齐是有意义的。所以:

div#group-information-items div.form-item { display: none; }

现在所有"new"div 都将被隐藏。根据需要将代码更改为 show() div(您还没有展示足够的内容来了解​​如何、在何处以及何时执行此操作)。如果您希望将行为附加到初始页面加载后创建的元素,您应该看看 live()delegate() .

关于jquery - 使用jquery隐藏动态添加的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3347854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com