2014-08-30 19 views
6

Bu yüzden bir sayfada çalıştırılabilen bir betik yazıyorum ama bu öğeyi tıklamak istiyorum, maalesef, bir id almak ve .click() işlevini kullanmaya çalışıyorum üstünde, ama işe yaramıyor, işte sahip olduğum şey, nasıl düzeltileceğini bilen var mı? Bu sınıftaki tek unsur daJavascript Sınıfta Element'e tıklayın

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

"* Bu, sınıftaki tek öğedir *" - tamam, seçicide * iki * olduğunu belirttiğiniz * hangi * sınıfı olan tek öğe? RateRecipe sınıfında –

+0

ve btns-one-small –

+1

DOM seçimi hakkında bir sorunuz olduğunda, neyi yanlış görebilmemiz için seçtiğiniz DOM'yi yüklemeniz gerekir. Aksi halde sadece tahmin ediyoruz. –

cevap

17

ben öneririm geçerli:

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

Yukarıdaki kod verilen eleman bu sınıfların her ikisi olduğunu varsayar; aksi halde, uzay ata-torun ilişkisi ima etmek içindir eğer:

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

(bir CSS seçici almak yerine document.querySelector()/document.querySelectorAll(),) tek sınıf adını alır ve iki geçti getElementsByClassName() yöntemi (Yönteme göre muhtemelen sınıf-isimleri).

Referanslar:

+1

Sadece FYI, 'getElementsByClassName 'çoklu sınıfları kabul eder, bu yüzden @ user3010773'ün orjinal kodu, her iki sınıfa da sahip olan tek bir öğeyi seçmeye çalışıyorsa iyi çalışır. http://jsfiddle.net/u94wtpcn/ –

İlgili konular