2014-08-30 3 views
6

Итак, я пишу скрипт, который можно запустить на странице, но я хочу нажать на этот элемент, к сожалению, у него нет id, и я пытаюсь использовать функцию .click() на нем, но это не сработает, вот что я имею, кто-нибудь знает, как это исправить? Это единственный элемент в классе такжеJavascript Нажмите на элемент по классу

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

«Это единственный элемент в классе *» - хорошо, единственный элемент с *, * классом, который вы указали * два * в селекторе? –

+0

в классе RateRecipe и btns-one-small –

+1

Если у вас есть вопрос о выборе DOM, вам нужно опубликовать DOM, который вы выбираете, чтобы мы могли видеть, что не так. В противном случае мы просто догадываемся. –

ответ

17

Я хотел бы предложить:

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

Приведенный выше код предполагает, что данный элемент имеет как из этих классов; в противном случае, если пространство предназначается, чтобы подразумевать отношения предок-потомок:

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

Метод getElementsByClassName() занимает классовое имя одного (а не document.querySelector()/document.querySelectorAll(), которые принимают селектор CSS), и вы прошли два (предположительно, имена классов) к методу.

Ссылки:

+1

Just FYI, 'getElementsByClassName' принимает несколько классов, поэтому исходный код @ user3010773 будет работать отлично, если он попытается выбрать один элемент, который имеет оба класса. http://jsfiddle.net/u94wtpcn/ –

Смежные вопросы