2016-10-13 71 views
0
的陣列

我存儲在「totalLinks」我想找到則firstChild

var totalLinks = document.getElementsByTagName("a"); 
var listOfFirsChildOfAnchorTag = []; 

我在這裏存儲所有則firstChild元素陣列中的所有錨標籤中的特定元素

for(i=0;i<totalLinks.length;i++) 
{ 
    currentFirsChildOfAnchorTag = totalLinks[i].firstChild; 
    listOfFirsChildOfAnchorTag.push(currentFirsChildOfAnchorTag); 
} 

現在我想查找span元素是否是錨標籤的第一個子元素。我如何從上面的數組中找到它。

如果你知道另一種做同樣的事情的方法,請建議。

+0

你想知道span元素是否在數組中嗎?或者你想知道跨度的索引嗎? – snit80

+0

@ snit80我想知道數組中是否存在span元素,如果存在,那麼我也想知道它的索引。謝謝 –

回答

1

由於firstChild返回文本和評論,以及,你應該檢查開始,如果它是一個元素,通過使用nodeType

totalLinks[i].firstChild.nodeType === 1 

然後你會檢查tagName"span"

totalLinks[i].firstChild.tagName.toLowerCase() === "span" 

所以

if (totalLinks[i].firstChild.nodeType === 1 && 
    totalLinks[i].firstChild.tagName.toLowerCase() === "span" 
    ) { 
    // ... 
} 

你也可以直接獲得跨越第一個孩子的所有直接孩子

var listOfFirsChildOfAnchorTag = document.querySelectorAll('a > span:first-child')