文章摘要
这篇文章详细讨论了在HTML/CSS中使用`display`属性设置元素为`none`时,JavaScript如何无法正确获取这些元素的一些属性值,例如`offsetTop`和`offsetLeft`。文章指出,直接使用`display:none`隐藏的元素在没有通过JavaScript设置样式使其显示的情况下,无法通过JavaScript代码正确获取这些属性,返回的值通常为0。此外,文章还探讨了其他相关问题,例如`display:none`隐藏的元素不会被搜索引擎检索,以及如何通过其他方法实现类似效果。文章还提到,使用`left:-100000px`或调整`display`属性的值可以绕过这些限制。此外,文章还讨论了`style.visibility`与其他方法的区别。如果您对这些内容感兴趣,可以参考相关文章进一步了解。
1、如果在样式文件或页面文件代码中直接用display:none对元素进行了隐藏,载入页面后,在没有通过js设置样式使元素显示的前提下,使用js代码会无法正确获得该元素的一些属性,比如offSetTop,offSetLeft等,返回的值会为0,通过js设置style.display来使元素显示后才能正确获得这些值。
2、使用display:none隐藏的元素不会被百度等搜索网站检索,会影响到网站的SEO,某些情况下可以使用left:-100000px来达到同样效果。
3、如果是通过样式文件或
方式来设置元素的display:none样式,用js设置style.display=””并不能使元素显示,可以使用block或inline等值来代替。通过style=”display:none”直接在元素上进行的设置不会有这个问题
4、有些情况下可以使用style.visibility来代替style.display,但是要注意的是style.visibility隐藏元素时会保留元素在页面上所占的空间,而style.display隐藏元素且让出所占页面空间。
您可能感兴趣的文章:实例详解display:none与visible:hidden的区别javascript获取隐藏元素(display:none)的高度和宽度的方法jquery控制display属性为none或blockjquery如何实现点击空白处隐藏元素Jquery显示、隐藏元素以及添加删除样式使用display:none时隐藏DOM元素无法获取实际宽高的解决方法
© 版权声明
文章版权归作者所有,未经允许请勿转载。