2011-08-10 34 views
1

在HTML元素的數量和位置,發現了這一點:查找使用JavaScript

說我有這樣的HTML:

<element1></element1> 
<element2></element2> 
<element2></element2> 

我想,如果有檢測我的「element1」元素之後有2個「element2」元素。而且,它們並不總是彼此相鄰。

我該怎麼做?

+0

你嘗試過這麼遠嗎? 'document.getElementsByTagName( '在element2');'或'document.getElementsByTagName( '元素1')[0] .parentNode.getElementsByTagName( '在element2');',或'element.nextSibling',或...? – nnnnnn

回答

2

我想檢測我的element1元素後面是否有2個「element2」元素。而且,它們並不總是彼此相鄰。

假設部件1divelement2的span ...

var element = document.getElementsByTagName('div')[0], 
    spanCount = 0; 

while (element = element.nextSibling) { 
    if (element.tagName == 'SPAN') { 
     spanCount++; 
    } 

    if (spanCount == 2) { 
     alert('There are 2 spans following!'); 
     break; 
    } 
} 

jsFiddle

+0

戰鬥在javascriptover上今晚ha – samccone

+0

這是很棒的代碼:)。多謝老兄! – cmplieger

+1

@samccone我認爲這是我今晚在*戰鬥中的唯一條目:) – alex