2017-02-28 185 views
1
var divElement = document.createElement("div"); 
divElement.setAttribute('id', 'Items'); 

var ulElement = document.createElement("ul"); 
var liElement = document.createElement("li"); 
var spanElement1 = document.createElement("span"); 
var spanElement2 = document.createElement("span"); 
liElement.appendChild(spanElement1); 
liElement.appendChild(spanElement2); 
ulElement.appendChild(liElement); 

當我輸入選擇器查詢,我無法獲得元素。如何使用queryselector獲取標籤內的標籤?

document.querySelectorAll(「divElement ul li」);應該給
document.querySelectorAll(「#Items ul li」);

但它不工作,如何在運行時獲得id?

+0

使用空格而不是點。 –

+1

不工作@kindUser – coder

+0

'document.querySelectorAll('divElement ul li')'。我檢查過了。有用。 –

回答

0

如果您仍有權訪問divElementdocument.querySelectorAll('div ul li')而無法訪問,請使用divElement.querySelectorAll('ul li')

請注意如何沒有點。 .用於CSS中的類。對於元素,你只需使用標籤名稱。

divElement是您在JS中創建的元素的引用,但其CSS選擇器是div而不是divElement。 JS名稱變量不能在選擇器字符串中使用。

你需要學習querySelectorAll第一

基本語法

elementList = document.querySelectorAll(selectors); 

在你的情況

elementList = document.querySelectorAll(div ul li); 

這裏是有幫助的主題querySelectorAll dochow css selectors work

0

良好讀取links

+0

如何一般地訪問它「document.querySelectorAll(div#id ul li)」? @mirzaObaid – coder

+0

如果您使用的是html元素,那麼您將使用類似「document.querySelectorAll(div ul li)」的空格,但是如果您使用任何類或id,那麼「document.querySelectorAll(div#id ul li)」或「document .querySelectorAll(div .classname ul li)「 –

+1

如何獲得div元素的一般id? @MirzaObaid – coder

2

終於想出瞭解決方案。我們可以使用的getElementById用戶得到「ID」然後將其簡單適用查詢選擇

document.getElementById(id).querySelectorAll('ul li');