2013-07-27 91 views
0

我肯定有一個非常簡單的問題,我有點慚愧自己無法解決它。

如何用getElementByClassName獲取父元素?

HTML:

<div> 
    <ul class="test"> 
     <li>1</li> 
    </ul> 
    <ul class="test"> 
     <li>2</li> 
    </ul> 
</div> 


的JavaScript:

var tests = document.getElementsByClassName('test')[0].innerHTML; 
alert(tests); 


的jsfiddle:

Try it

目前,結果顯示我<li>1</li>

這不是我想要的。我想要的結果是<ul class="test"><li>1</li></ul>

我試過使用.parent()(我可以使用jQuery),但它給了我所有的<ul>標籤,而我只想要第一個。我也知道我可以使用一些.split(),但它肯定不是提供意見的方式。

我認爲問題可能來自.innerHTML,有一個函數可以讓我恢復目標元素,而不僅僅是他的孩子?

+0

爲什麼你要的元素在所有的HTML?你打算如何處理HTML?你最終想做什麼? –

回答

3

只需使用outerHTML代替innerHTML

var tests = document.getElementsByClassName('test')[0].outerHTML 

Check Fiddle

你可以做同樣的使用jQuery。 $.each遍歷元素,然後用this以便它只指向一個元素,而不是所有該類

jQuery的

var $tests = $('.test'); 

$tests.each(function() { 
    console.log(this.outerHTML) 
}); 

jQuery Fiddle

+0

這是非常基本的預期,對於顯而易見的遺憾。我會盡快接受你的回答。 – Delgan

+0

這很好..這是一個學習過程,它發生在每個人身上。 –