2016-06-10 97 views
0

下面是樣本HTML,其中我試圖點擊關閉按鈕,還有很多關閉按鈕,但我想點擊關閉按鈕是類mytop內點擊類的兒童在純JavaScript

<div class="mytop"> 
<a class="mychild" role="button" href="#">Close</a> 
</div> 

我試圖通過getElementsByClassName獲取JavaScript代碼相當於下面的jQuery

$(".mytop").children(".mychild").click(); 

回答

1
var topEl = document.querySelector('.mytop'); 
var closeBtn = topEl.querySelector('a.mychild'); 
closeBtn.click(); 
+0

閱讀的問題,我需要純粹的javascript – Vishnu

+0

編輯 - 看看它是否適合您的賬單 –

1

虎視眈眈類,並使用addEventListener˚F或事件功能..

使用的window.onload,因爲你只能虎視眈眈childnode後您的文檔加載

window.onload = function(){ 
var top = document.getElementsByClassName("mytop"); 
    top[0].children[0].onclick = function(){ 
     alert(this.className); //mychild 
    }; 
} 
+0

我不認爲這是正確的答案。由於@vishnu想要將點擊偵聽器添加到子元素 – SESN

+0

謝謝,我明白了。 @SESN –

1

使用document.querySelector(<selector string>)

爲您的使用情況下,代碼看起來像下面這樣:

var closeButton = document.querySelector('.mytop a.mychild'); 
closeButton.click(); 

我是否假設你想模擬一個點擊 - 不是聽一個並且發射一個函數。

0
var child = document.getElementsByClassName("mytop").childNodes; 
child[0].onclick = function(){ 
    alert("dsf"); 
}; 

右鍵我只在上面的代碼中選擇第一個子元素。

+0

他沒有添加事件偵聽器,他發送的是單擊事件。 – Barmar

+0

在初始階段,問題是點擊事件。在編輯歷史後我沒有看到它。 – SESN

+0

唯一的編輯是添加缺少的報價。 – Barmar