我有HTML页面:
<head></head> <body> <div> <div> <div id="myDiv"> </div> </div> </div> </body>
如何隐藏所有的div,只有myDiv里面的身体使用jquery?
更新
页面可能包含一些其他html元素,如一些表,锚,p,我只想看到myDiv元素。
解决方法
这应该工作:
$('div:not(#myDiv)').hide(); // hide everything that isn't #myDiv $('#myDiv').appendTo('body'); // move #myDiv up to the body
更新:
如果你想隐藏一切,而不只是div元素,请改用:
$('body > :not(#myDiv)').hide(); //hide all nodes directly under the body $('#myDiv').appendTo('body');
可能更简单的是将页面的整个“可隐藏”部分包装在一个大容器元素中,并直接隐藏。
像这样:
<body> <div id="contents"> <!-- a lot of other stuff here --> <div id="myDiv> </div> </div> </body>
然后你可以做到这一点,这是更清洁和更快:
$('#contents').hide(); $('#myDiv').appendTo('body');