2013-03-01 105 views
3

我只需要訪問父div,我有一個按鈕,更改他的兄弟姐妹div。 一個代碼示例可以更好地解釋:選擇一個父元素(不使用Jquery)

<div class="parent"> <!-- This is structure repeats N times --> 
    <div class="divToToggleVisiblity divA">trololo A</div> 
    <div class="divToToggleVisiblity divB">trololo B</div> 
    <button onClick="toggleThem(this)">This button will toggle above divs</button> 
</div> 


function toggleThem(a){ // something like this, BUT without Jquery 
    $(a).closest(".parent").find(".divA").hide(); 
} 

回答

6

這就是parentNode是:

a.parentNode.querySelectorAll('.divA'); 
+0

什麼是在這個例子中 「一」:? – 2016-09-20 21:46:52

+0

@zero_cool它遵循原始問題,在這種情況下'a'是'button'元素。 – 2016-09-21 01:08:10

2
function toggleThem(elem) { 
    elem.parentNode.getElementsByClassName('divA')[0].style.display = 'none'; 
} 
+0

'TypeError:無法讀取未定義的屬性'display'。不要忘記'getElementsByClassName'返回'nodeList'。 – 2013-03-01 15:30:50

+0

謝謝,由於jQuery的使用,暫時還沒有使用過 – 2013-03-01 15:33:59