所以我有一个div,它在底部绘制动态元素,我想隐藏这些元素,不管它们的ID使用什么javaScript/jQuery。基本上,我的HTML看起来如下:
<div class="right-panel">
<div class="info">Text</div>
<form id="the-form">
<input type="hidden" name="first-name" value="">
<input type="hidden" name="last-name" value="">
<input type="hidden" name="state" value="">
</form>
<script>javaScript</script>
<div id="dynamic-id-1">Advertisement 1</div>
<div id="dynamic-id-2">Advertisement 2</div>
</div>我想确保“动态-ID-1”和“动态-ID-2”div总是被移除或隐藏,不管它们的ID是什么(它们的ID可能会更改)。如何在不针对它们的ID的情况下针对这些元素?
编辑--我尝试过这样做,但是我的方法似乎很有限,而且我无法让它与多个div一起工作,即使在链接时:
$('#the-form').next().hide();(注意:不幸的是,它们没有类,存在多个div,并且ID总是完全不同的。我希望能有一种新的方法来锁定包装div的最后两个div并将它们隐藏起来)
发布于 2014-03-20 22:09:38
如果脚本标记总是在需要删除的div之前,您可以这样做-
$('.right-panel > script').nextAll('div').remove();http://jsfiddle.net/w6d8K/1/
基于你的努力,你能做到-
$('#the-form').nextAll('div').hide();http://jsfiddle.net/w6d8K/2/
下面是nextAll() - https://api.jquery.com/nextAll/的文档
发布于 2014-03-20 22:08:47
最简单的方法是向动态元素中添加类。类似于:
<div class="removable-element" id="dynamic-id-1">Advertisement 1</div>然后,你可以做这样的事情:
$(".right-panel .removable-element").remove()发布于 2014-03-20 22:08:53
如果一次只生成一个div,则动态生成。将其添加到动态生成中:
$('#the-form + div').hide();另一种实现相同(不是首选)的方法是:
$('#the-form').next('div').remove();https://stackoverflow.com/questions/22546104
复制相似问题