單選題
關於獲取元素,以下描述正確的是:
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系列屬性和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系列屬性的作用一樣。~
答案: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屬性
難度: ☆☆☆