使用javascript隐藏div
我想使用 javascript 隐藏没有与其关联的 id 的 div。例如,在共享点 .ms-globalbreadcrumb
中没有 id。
frame = document.getElementById('frame1');
frame.contentWindow.document.getElementById('ctl00_PlaceHolderGlobalNavigation_PlaceHolderGlobalNavigationSiteMap_GlobalNavigationSiteMap').style.display='none';
上面的代码适用于有 id 的片段,但我不确定如何为其他没有 id 的 div 实现此目的。
谢谢,
I would like to hide divs that have no ids associated with them using javascript. For example, in sharepoint .ms-globalbreadcrumb
doesn't have an id.
frame = document.getElementById('frame1');
frame.contentWindow.document.getElementById('ctl00_PlaceHolderGlobalNavigation_PlaceHolderGlobalNavigationSiteMap_GlobalNavigationSiteMap').style.display='none';
The above code works for pieces that have ids but I am not sure how to achieve this for other divs with no ids.
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用标准化对 DOM 的访问的东西会让您的生活变得更加轻松,以便相同的代码(对于所有内容 - 表单、事件、对象属性等)可以在所有浏览器上运行。使用 JQuery 只是:
隐藏所有 div...并且有很大范围的 'selectors' 来优化您的选择。
You would make your life a lot easier using something that normalizes access to the DOM, so that the same code (for everything - forms, events, object properties, etc etc) works across all browsers. Using JQuery it's just:
to hide all divs...and there are a huge range of 'selectors' to refine your selection.
案例一
如果您想隐藏所有没有 id 的 div,那么您必须循环所有 div 并根据该条件隐藏它们。 (使用
.getElementsByTagName()
< 查找 div /a>)案例 2
如果您想查找基于类的元素,就像您的示例中的
.ms-globalbreadcrumb
那么(查找带有.getElementsByClassName()
)(
getElementsByClassName
不适用于 IE9 之前的 IE 版本)两种情况的示例位于 http://jsfiddle.net/gaby/H3nNr/
建议
使用jQuery 允许各种 选择器和复杂的遍历 DOM 找到你想要的东西想要..
$('div:not([id])').hide();
$('.ms-globalbreadcrumb ').hide();
Case 1
If you want to hide all divs with no id then you would have to loop all divs and hide them based on that criteria. (find the divs with the
.getElementsByTagName()
)Case 2
If you want to find elements based on a class, like in your example the
.ms-globalbreadcrumb
then (find the elements with the class with the.getElementsByClassName()
)(the
getElementsByClassName
will not work for pre IE9 versions of IE)example with both cases at http://jsfiddle.net/gaby/H3nNr/
suggestion
Use jQuery which allows for a wide variety of selectors and complex traversing of the DOM to find what you want..
$('div:not([id])').hide();
$('.ms-globalbreadcrumb').hide();
如果您可以在 DOM 中找到 div,那么您应该能够隐藏它们。例如,如果父/祖父母等 div 有一个 ID,您可以使用 Javascript 沿着 DOM 树向下查找,直到找到要隐藏的元素。
JQuery 有很多选择器可以让这种事情变得简单。
If you can locate the divs in the DOM, then you should be able to hide them. For example, if a parent / grandparent etc div has an ID, you can go down the DOM tree using Javascript until you have found the element you want to hide.
JQuery has lots of selectors for making this kind of thing easy.
所以还有其他方法可以使用
您可以通过标记名或类来获取它们
,它们返回您需要迭代的元素列表,
因此您的示例应该是
so theres other methods you can use
you can get them by tagname or classes
they return list of elements you need to iterate threw
so your example shud be