2015-02-10 54 views
3

我有一個JavaScript按鈕,它觸發了一個onclick事件,但我只希望它能這樣做,如果另一個div包含一個名爲「active」的類。基於另一個div類的fire onclick事件?

所以我有這樣的結構:即基於其它頁活動

<div id="div1"> 
<div id="someid1" class="design"></div> 
<div id="someid2" class="design"></div> 
<div id="someid3" class="design"></div> 
<div id="someid4" class="design"></div> 
</div> 

任何可以改變到類= 「活性」

<div id="someid2" class="design active"> 

按鈕是:

<button type="button" id="button1" onclick="dosomething">Click me</button> 

但是我只想要dosomething工作,如果上面的任何div都有活動類,並且拋出一個警報,如果沒有。我對javascript的使用並不是非常好,可以使用一些幫助。

希望這是明確的。謝謝。

+0

裏面'dosomething'創建一個'if',將檢查你的病情。 – 2015-02-10 03:46:36

回答

3

假設dosomething是一個功能,你可以只檢查類是

function dosomething() { 
    if (document.querySelector('#parentid .active')) { 
     // do stuff 
    } 
} 

querySelector返回內部null如果沒有找到,這是falsy。

document.querySelector documentation

+0

dosomething是一個函數,所以我不想檢查「活動」的缺席,並基於此做出警報? – z320 2015-02-10 03:51:28

+0

你想檢查'#someid'是否具有'active'類,並且方法是嘗試選擇具有該ID和該類的元素,如果選擇了某個元素,則存在該元素,並且因此該元素具有'積極'類?如果您想顯示警報,請直接進入,只需添加一個'else'語句,然後警告。 – adeneo 2015-02-10 03:54:19

+0

我明白了。這有點複雜,因爲活動類將在三個或四個具有不同ID的div中的一個上。這些div位於另一個具有自己ID的div中。我正在尋找的是另一個div中的「活躍」類別的任何div。希望這是有道理的。我將編輯問題 – z320 2015-02-10 03:57:29