WEB APIS 練習題


考點:獲取元素

單選題

關於獲取元素,以下描述正確的是:

A,document.getElementById()獲取到的是元素集合

B,document.getElementsByTagName()獲取到的是單個元素

C, document.querySelector()獲取到的是元素集合

D, document.getElementsByClassName()有瀏覽器兼容性問題

答案: D

解析: A選項,返回的是單個元素對象或null;B選項返回的是元素集合;C選項返回的單個元素對象;D選項,是h5新增的方法,所以有瀏覽器兼容性問題

難度: ☆☆

 

 

 

 

考點:獲取元素

單選題

關於獲取元素,以下獲取到單個元素的方法是:

A,document.getElementById()

B,document.getElementsByTagName()

C, document.querySelectorAll()

D, document.getElementsByClassName()

答案: A

解析: A選項,返回的是單個元素對象或null;

難度: ☆

 

 

考點:獲取元素

多選題

關於獲取元素,以下獲取到元素集合的方法是:

A,document.getElementById()

B,document.getElementsByClassName()

C, document.querySelector()

D, document.querySelectorAll()

答案: BD

解析: D選項,返回的是元素集合;選項A,返回的是單個元素對象或null

難度: ☆

 

 

 

考點:注冊事件

單選題

點擊一個按鈕,彈出對話框, 應該填寫的正確代碼是():

<body>
   <button id="btn">唐伯虎</button>
   <script>
       var btn = document.getElementById('btn');
____________
   </script>
</body>

A, btn.onclick = function() {

alert('點秋香');

}

B, btn.onclick = alert('點秋香');

C, btn.click = function() {

alert('點秋香');

}

D, btn.click()

答案: A

解析: 考查注冊單擊事件,選項A是正確的格式

難度: ☆☆

 

 

 

 

考點: 注冊事件

多選題

關於事件,下列描述正確的是:

A,當頁面一打開,所有的事件就會被觸發

B,注冊事件的格式為: 事件源.事件 = 事件處理程序

C,一個事件只能觸發執行一次

D,事件函數內this指的是當前觸發事件的元素

答案: BD

解析: A選項,頁面加載完只會觸發頁面加載事件;B選項,正確的注冊事件方式;C選項,事件是觸發一次執行一次;D選項,事件處理函數中this指向事件源對象;

難度: ☆☆

 

 

 

考點:操作元素內容

多選題

關於操作元素的內容,說法正確的是:

A,innerHTML可以識別渲染html標簽

B,innerText不可以識別html標簽

C,element.innerHTML = ''; 和 element.innerText = ''; 作用一樣

D,var content = element.innerHTML; 和 var content = element.innerText; 的作用一樣

答案:ABC

解析:innerText和innerHTML的區別。修改內容時,innerHTML可以識別渲染標簽,innerText不可以,所有AB選項正確。C選項,都是清空標簽的內容,正確。D選項,獲取內容時,innerHTML會原封不動的獲取內容包括標簽、空白、換行,而innerText會過濾標簽、空白、換行。

難度: ☆☆☆

 

 

 

考點:操作元素屬性

單選題

關於操作元素的屬性,錯誤的是:

A,element.id = 'box01';

B,element.src = 'image/new.jpg';

C,element.title = '黑馬程序員';

D,element.class = 'contentLeft';

答案:D

解析:操作元素常用屬性。操作元素屬性的格式為:元素對象.屬性名 = 值; 但是class屬性特殊,用className。

難度: ☆☆

 

 

考點:操作自定義屬性

單選題

關於操作元素的class屬性,正確的是:

A,element.setAttribute('className', 'active');

B,element.class = 'active';

C,element.className = 'active';

D,element.class-name = 'active';

答案:c

解析:操作元素屬性的格式為:元素對象.屬性名 = 值; 但是class屬性特殊,用className。使用setAttribute操作class時用class

難度: ☆☆

 

考點:操作自定義屬性

多選題

有一標簽<div data-uname="ls"></div> ,可以獲取標簽自定義屬性的選項是:

A,divObj.dataset["uame"]

B,divObj.dataset.uname

C,divObj.getAttribute('data-uname')

D,divObj.data-uname

答案:ABC

解析:1.兼容性獲取 element.getAttribute(‘data-index’);2.H5新增 element.dataset.index 或者 element.dataset[‘index’]

難度: ☆☆☆

 

 

考點:節點的層級關系

單選題

關於節點操作,下面選項能獲取子元素節點的是:

A,element.child

B,element.childNode

C,element.childNodes

D,element.children

答案:D

解析:獲取子節點使用childNodes,獲取子元素節點使用children

難度: ☆

 

 

考點:節點的層級關系

多選題

關於節點的層級關系操作,下面描述正確的是:

A,使用子節點.parentNode可以找到父節點

B,使用父節點.children 找到所有的子元素

C,使用父節點.children 找到所有的子節點

D,使用節點.parentNode.parentNode可以找到父節點的父節點

答案:ABD

解析:節點之間的層級關系,獲取父節點使用parentNode,獲取子節點使用childNodes,獲取子元素children

難度: ☆☆

 

考點:創建添加元素

多選題

下列哪些選項可以實現創建元素:

A,element.push('<p>傳智播客</p>')

B,element.pop('<p>傳智播客</p>');

C,element.innerHTML = '<p>傳智播客</p>';

D, document.createElement("p")';

答案:CD

解析:創建元素的方法

難度: ☆☆

 

 

考點:創建添加元素

多選題

關於添加元素,下列選項描述正確的是:

A,innerHTML會覆蓋原來的元素

B,appendChild 是在父元素內部追加

C,insertBefore 可以在父元素內部指定的位置添加

D, createElement創建的元素立即會添加在頁面

答案:ABC

解析:創建添加元素的方法,D選項,createElement要配合其他添加方法使用。

難度: ☆☆

 

考點:事件監聽

多選題

關於事件監聽,描述正確的是:

A,可以給同一元素同一事件注冊多個監聽器

B,addEventListener() 有瀏覽器兼容問題

C,addEventListener() 方法有3個參數

D,低版本的IE可以使用attacheEvent代替addEventListener

答案:ABCD

解析:IE9以后才支持addEventListener,低版本IE使用attacheEvent。

難度: ☆☆

 

 

考點:事件對象

單選題

關於事件對象,描述正確的是:

A,事件對象的屬性中保存了跟事件相關的一系列信息

B,事件觸發時就會產生事件對象

C,事件對象的獲取有兼容性問題

D,通過事件對象可以阻止事件冒泡和默認行為

答案:ABCD

解析:事件對象有很多方法和屬性,保存了事件相關的信息,獲取時有兼容性問題,使用事件對象可以阻止事件冒泡和默認行為

難度: ☆☆

 

 

考點:事件對象

單選題

下列選項,哪個可以正確獲取到兼容了各個瀏覽器的事件對象:

A,document.onclick = function(evt){ var e=window.event||event; };

B,document.onclick = function(evt){ var e=window.evt||event; };

C,document.onclick = function(evt){ var e=window.event||evt; };

D,document.onclick = function(evt){ var e=window.evt||evt; };

答案:C

解析:事件對象的兼容性考慮。低版本的IE,通過 window.event獲取事件對象。

難度: ☆☆

 

考點:offset系列屬性

單選題

以下關於offset系列屬性和style屬性的說法,正確的是()

A.通過style屬性獲取到的樣式結果是字符串類型,而通過offset系列獲取到的屬性值是數字類型。~ B.offset系列屬性和style屬性一樣,都可以獲取到元素的行內樣式。~ C.style系列屬性只能獲取元素的行內樣式,offset系列屬性能獲取到元素的所有樣式。~ D.以上說法都不正確。

答案: A

解析: 本題考查的是offset系列屬性的使用。答案B和C錯誤,offset系列屬性用來獲取元素顯示的效果,但是並不是所有的樣式都能夠獲取到,只能獲取到寬度,高度,左右距離等。

難度: ☆☆

 

 

考點:offset系列屬性

單選題

下列關於offsetWidth和offsetHeight的說法,正確的是()

A.這兩個屬性用來表示內容的大小,不包括邊框和內邊距。~ B.獲取到結果是數字類型,方便計算。計算完成以后的值,可以再使用offsetWidth和offsetHeight重新設置給元素。~ C.這兩個屬性值的結果是字符串類型的數據,默認單位是px.~ D.這兩個屬性是只讀屬性。

答案: D

解析: 本題考查的是offset系列屬性的使用。答案A錯誤,offsetWidth和offsetHeight表示的是盒子的大小,包括邊框和內邊距;答案B錯誤,這兩個屬性是只讀屬性,不能被修改;答案C錯誤,這兩個屬性獲取到的結果是數字類型,不是字符串類型。

難度: ☆☆

 

 

考點:offset系列屬性

多選題

下列關於offsetParent的說法,正確的是()

A.offsetParent獲取到的是元素的父元素。~ B.offsetParent屬性和parentNode屬性的含義一樣。~ C.offsetParent屬性用來獲取離這個元素最近的絕對定位父元素。~ D.以上說法都錯誤。

答案: D

解析: 本題考查的是offset系列屬性的使用。答案C錯誤,offsetParent獲取的是離這個元素最近的有定位的父元素,不管這個父元素是絕對定位還是相對定位。所以A和B也錯誤

難度: ☆☆☆

 

 

考點:scroll系列屬性的使用

多選題

以下關於scroll系列屬性的說法正確的是()

A.scrollWidth和scrollHeight獲取的是盒子的大小,包括邊框和內邊距。~ B.scrollTop指的是盒子內容被滾動條卷去的頭部的高度。~ C.scroll系列屬性和offset系列屬性的作用一樣。~ D.scrollParent屬性用來獲取滾動時參考的父元素。

答案:B

解析:本題考查的是scroll屬性的使用。答案A錯誤,scrollWidth和scrollHeight獲取到的是內容的大小;答案C錯誤,scroll系列和offset系列屬性的作用不一樣;答案D錯誤,沒有scrollParent這個屬性。

難度: ☆☆

 

考點:scroll系列屬性的使用

多選題

以下關於scroll系列屬性的說法錯誤的是()

A.一般情況下,我們不會獲取某一個元素的滾動距離,通常會獲取整個頁面的滾動距離。

B.監聽一個元素的滾動,需要給這個元素添加onscroll事件。

C.獲取頁面的滾動距離,document.documentElement.scrollTop 和 document.body.scrollTop;。

D.scrollRight獲取的是盒子內容被滾動條卷去的右邊的寬度。

答案:D

解析:本題考查的是scroll屬性的使用。答案D錯誤,沒有scrollRight這個屬性。

難度: ☆☆

 

 

 

考點:touchEvent

單選題

以下哪些不屬於touch事件對象的屬性()

A.changedTouches屬性 B.targetTouches屬性 C.touches屬 D.touch屬性

答案: D

解析: 本題考查的是touchEvent中常見的屬性。答案D錯誤,因為沒有這個屬性。

難度: ☆☆

 

 

 

 

考點:touch事件類型

單選題

以下關於touch事件說法錯誤的是()

A.touchstart是指手指按壓下去后觸發 B.touchmove是手指按壓並且滑動后觸發 C.touchend是手指松開后觸發 D.touchover是指手指松開后觸發

答案: D

解析: 本題考查的是touch相關的事件類型。答案D錯誤,因為沒有這個事件。

難度: ☆☆

 

 

考點:scroll系列屬性的使用

多選題

以下關於touch事件說法正確的是()

A.click是鼠標事件,但是在移動端也能使用。~ B.mousedown和mouseup是鼠標事件,在移動端能夠使用。~ C.鼠標事件click在移動端比touchstart執行效率高~ D.鼠標事件在移動端不能夠使用~ E.在移動端,touch事件比鼠標事件執行效率高

答案: ABE

解析: 本題考查的是touch事件和鼠標事件在移動端的區別。答案C錯誤,在移動端touch相關的事件類型比鼠標事件執行效率高;答案D錯誤,鼠標事件在移動端也可以使用

難度: ☆☆☆

 

考點:touchEvent

多選題

以下關於touch事件對象說法正確的是()

A.touches屬性可以獲取屏幕上的所有手指的列表 B.changedTouches屬性在touchsend事件處理程序中得到改變的手指列表 C.targetTouches屬性和touches在手指按下和移動中都可以獲取手指列表 D.手指列表中的某一個手指的clientX和pageX在移動端可以互相使用 E.在click事件中也可以獲取touches屬性

答案:ABCD

解析:本題考查的是touchEvent創建的屬性及作用。答案E錯誤,鼠標事件中不存在touches屬性

難度: ☆☆☆

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM