在前端開發(fā)中,我們經(jīng)常需要獲取網(wǎng)頁的
元素,來進(jìn)行操作或者修改頁面樣式。本文將介紹Javascript中獲取元素的方法,并給出詳細(xì)的代碼示例。一、使用document.body屬性
最基本的方法就是通過DOM對象上的document.body屬性來獲取
元素,該屬性得到的是一個包含body元素的HTMLBodyElement對象。比如:const bodyElement = document.body;
bodyElement.style.backgroundColor = 'red';
上述代碼就是將頁面背景色設(shè)為紅色。需要注意的是,當(dāng)
元素還沒有被瀏覽器解析完畢前,使用該方法獲取到的對象是null。二、在文檔對象模型(DOM)中使用getElementsByTagName()
getElementsByTagName()方法可以獲取指定標(biāo)簽名的元素節(jié)點以及該元素包含的所有子節(jié)點。使用該方法來獲取
元素的代碼如下:const bodyElement = document.getElementsByTagName('body')[0];
bodyElement.style.backgroundColor = 'red';
需要注意的是,該方法返回的是一個NodeList對象,而非單獨的元素。因此我們需要使用索引值來獲取第一個元素。
三、使用document.documentElement.clientWidth和document.documentElement.clientHeight
我們還可以使用document.documentElement對象來獲取
元素。如下代碼所示:const bodyElement = document.documentElement;
bodyElement.style.backgroundColor = 'red';
需要注意的是,document.documentElement返回的是HTML元素節(jié)點對象,而非
元素。但是,我們可以通過CSS設(shè)置來將文檔的高度和寬度設(shè)為100%。這樣,document.documentElement.clientHeight和document.documentElement.clientWidth等價于元素的高度和寬度。四、使用window.document.body
我們還可以使用window.document.body來獲取
元素。如下代碼所示:const bodyElement = window.document.body;
bodyElement.style.backgroundColor = 'red';
需要注意的是,該方法依賴于window對象。如果當(dāng)前位置不在頁面頂部,那么使用該方法獲取到的就不是
元素。總而言之,獲取
元素的方法有多種,我們需要根據(jù)實際情況選擇使用哪種方法。代碼中盡量使用文檔對象模型中提供的屬性或方法,以兼容性最好的方式來獲取元素。