2014-08-30 96 views
6

因此,我正在寫一個腳本,可以在頁面上運行,但我想點擊這個元素,不幸的是,它沒有id得到,我正在嘗試使用.click()函數在它上面,但它不起作用,這是我的,有人知道如何解決它?這是班上唯一的元素也Javascript單擊元素按類

var classes = document.getElementsByClassName('rateRecipe btns-one-small'); 
var Rate = classes[0]; 
Rate.click(); 
+1

「*這是類中唯一的元素*」 - 好的,唯一帶有* which * class的元素,在選擇器中列出了* two *。 – 2014-08-31 00:01:05

+0

在rateRecipe類和btns-one-small – 2014-08-31 00:03:03

+1

如果您有關於DOM選擇的問題,您需要發佈您選擇的DOM,以便我們可以看到錯誤。否則,我們只是猜測。 – 2014-08-31 01:06:12

回答

17

我建議:

document.querySelector('.rateRecipe.btns-one-small').click(); 

上面的代碼假設給定元素具有這些類的兩個;否則,如果空間是爲了暗示的祖先後代關係:

document.querySelector('.rateRecipe .btns-one-small').click(); 

getElementsByClassName()接受一個類名(而不是document.querySelector()/document.querySelectorAll(),這需要一個CSS選擇器),你通過兩種方法(大概是班級名稱)。

參考文獻:

+1

僅供參考,'getElementsByClassName'接受多個類,因此@ user3010773的原始代碼將很好地工作,如果他試圖選擇一個具有這兩個類的單個元素。 http://jsfiddle.net/u94wtpcn/ – 2014-08-31 01:03:47