2014-08-30 6 views
6

द्वारा एलिमेंट पर क्लिक करें, इसलिए मैं एक स्क्रिप्ट लिख रहा हूं जिसे एक पृष्ठ पर चलाया जा सकता है लेकिन मैं इस तत्व पर क्लिक करना चाहता हूं, दुर्भाग्यवश, इसमें id नहीं है और मैं .click() फ़ंक्शन का उपयोग करने का प्रयास कर रहा हूं उस पर, लेकिन यह काम नहीं करता है, मेरे पास यह है कि, मुझे पता है कि इसे कैसे ठीक किया जाए? इस वर्ग में केवल तत्व भीजावास्क्रिप्ट कक्षा

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

"* यह कक्षा में एकमात्र तत्व है *" - ठीक है, * * * वर्ग के साथ एकमात्र तत्व, आपने चयनकर्ता में * दो * सूचीबद्ध किया है? –

+0

दर में पकाने की विधि वर्ग और बीटीएनएस-एक-छोटे –

+1

जब आपके पास डोम चयन के बारे में कोई प्रश्न है, तो आपको उस डोम को पोस्ट करना होगा जिसे आप चुन रहे हैं ताकि हम देख सकें कि क्या गलत है। अन्यथा हम अनुमान लगा रहे हैं। –

उत्तर

17

मेरा सुझाव होता है:

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

ऊपर कोड मानता दिया तत्व उन वर्गों के दोनों है; अन्यथा, अंतरिक्ष एक पूर्वज-वंशज संबंध निहित करने के लिए है, तो:

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

विधि getElementsByClassName() एकल वर्ग-नाम (बजाय document.querySelector()/document.querySelectorAll() है, जो एक सीएसएस चयनकर्ता लेने के लिए) लेता है, और आप दो पारित कर दिया (संभवतः कक्षा के नाम) विधि के लिए।

संदर्भ:

+1

बस एफवाईआई, 'getElementsByClassName' कई कक्षाओं को स्वीकार करता है, इसलिए @ user3010773 का मूल कोड ठीक काम करेगा यदि वह एक वर्ग का चयन करने की कोशिश कर रहा था जिसमें दोनों वर्ग हैं। http://jsfiddle.net/u94wtpcn/ –

संबंधित मुद्दे