我有一个div容器,其中包含顶部表单的插座输入。所以我想隐藏div,id $('#sources').css('display','none')
然而,我想要显示的所有内容中都有一个div。由于源容器中一系列动态生成的选项中存在恼人的源文件,我无法找到一种方法来分离出我想要显示的div,因为并非所有内容都有ID。
任何想法,
非凡
答案 0 :(得分:4)
这是HTML和CSS工作方式的一部分。您无法隐藏父元素并仍显示子元素。
也许你可以尝试设置除隐藏之外的所有子元素。
此外,.hide()
是.css('display','none)
的简便快捷方式。
$('#sources').children(':not(#showThis)').hide()
答案 1 :(得分:3)
你必须将想要显示的div移动到隐藏的div之外。显然,最好在标记中执行此操作。如果不能出于某种原因在标记中执行此操作,则可以在以后使用jQuery执行此操作:
var sources = $("#sources");
var target = sources.find("selector_for_the_target_div");
sources.hide();
target.insertBefore(sources);
使用insertBefore
将目标div移到#sources
div之外。 (我还使用了hide
,这是css('display', 'none')
的缩写版本。)
答案 2 :(得分:1)
不,你需要把那个div放在外面。
答案 3 :(得分:0)
你可以试一试:
<$>`$('#sources')。children()。not(“#div_you_want_to_show”)。css('display','none');