javascript getelementbyid ...如何'获取'html变量

问题描述:

function allowscroll() 
{ 
if (screen.width<1200){document.getElementById('html').style.cssText='overflow-x: scroll !important;';}; 
} 

<body onLoad="allowscroll();"> 

嗨,那里,上面的代码适用于任何元素,例如,为“wrapper”底层的“html”,但如何编辑应用于HTML的CSS呢?基本上,因为溢出:在IE7中隐藏不继承 - 这会导致一个大空右侧缘和水平滚动条(只在IE7中,IE 8了兼容性),香港专业教育学院设置css来javascript getelementbyid ...如何'获取'html变量

html {overflow-x:hidden;} 

这是唯一的出路修复它而不会丢失必要的功能,例如溢出的图形可视化。

这是一切都很好,但是,较低的屏幕分辨率需要水平滚动只是为了看到所有的页面本身,所以我试图为这些用户恢复水平滚动条 - 并恢复大的右边距对于碰巧遇到的任何人,例如ie7 1024 x 768 - 我可以忍受这一点(除非任何人碰巧拥有superdupa解决方案)。

document.getElementById('html').style.cssText='overflow-x: scroll !important;'; 

所以上面的代码适用于编辑任何元素的CSS,而不是HTML的CSS。

我也试过:

function allowscroll() 
{ 
if (screen.width<1200){document.getElementByName('html').style.cssText='overflow-x: scroll !important;';}; 
} 

function allowscroll() 
{ 
if (screen.width<1200){window.style.cssText='overflow-x: scroll !important;';}; 
} 

我真的很感激任何帮助, - 如果它可以帮助在看到解决方案,其中适用的链接是:delight design,基本上,它的如何取出:

html {overflow-x:hidden;} 

从较低的屏幕分辨率的CSS。 。

千恩万谢

还有一堆不同的方式来获得html元素:

document.documentElement 
document.getElementsByTagName('html')[0] 
document.body.parentNode 

但在所有诚实,必须有一个更好的办法。我现在没有时间来追查到底发生了什么,但from what I can tell,加上position:relative溢出可能会有所帮助的任何需要。

尝试document.getElementsByTagName("html")[0]

注意我刚才编辑的答案的getElementsByTagName返回一个数组。你需要该数组中的第一个元素。

+0

感谢这很好,我学到了它 – 2011-02-03 21:58:47

只需使用documentElement

document.documentElement 

full browser suport

+0

感谢您的期待,但它没有发生 – 2011-02-03 16:47:45

+0

@Will:什么没有发生?你是说它没有选择``文档元素,还是你说你的CSS没有做到你想要的? – user113716 2011-02-03 16:48:37