2016-03-11 3 views
0

У меня есть 2 вопроса, оба касательно щелкнув через js.javascript, кнопка, нажмите

Итак, я нахожусь на сайте, и я хочу автоматизировать физический щелчок на двух кнопках, я узнал, что если мы с getElementbyId.click(), мы сможем это сделать. Но обе эти кнопки не имеют идентификатора. Я попробовал координацию щелчка, и она не работает, а также классом, но безрезультатно.

Как нажмете на это?

, а также

<button type="submit" class="btn btn-default btn-success">GO</button> 

и это.

document.getElementsByClassName не работает :(

+1

Что вы имеете в виду 'document.getElementsByClassName' не работает? Если вы вызываете 'document.getElementsByClassName ('red')', вы получите коллекцию, содержащую ''. –

+0

Вы настроили обработчик для запуска при нажатии элемента? Кроме того, вы сказали, что у них нет идентификатора. почему нет? – dewd

+0

@MikeC Я думаю, он означает, что он не работает, если вы вызываете 'click()' в возвращаемом HTMLCollection'. Это нужно повторить. Даже если есть только один элемент. – dewd

ответ

1

можно вызвать щелчок с помощью document.getElementsByClassName но вы должны понимать, что вы получите обратно от document.getElementsByClassName не отдельный элемент, а список, который вы можете перебрать.

вы можете вызвать щелчок для каждого элемента в коллекции, выполнив следующие действия:

var redClassElements = document.getElementsByClassName('red'); 

for(var i=0;i<redClassElements.length;i++) { 
    redClassElements[i].click(); 
} 

Это не будет делать ничего, если вы не назначили click handler к элем ent click() вызывается.

Кроме того, вы действительно хотите вызвать щелчок по нескольким элементам? Лучше всего назначить элементу идентификатор, как вам было предложено. Затем вы можете использовать document.getElementById('theId').click().

+0

Oh My Gosh. Спасибо огромное! Я использовал этот метод, но я заменил i номером, который я хотел. –

1

Дайте это попробовать

document.getElementsByClassName('red')[0].click(); 

Почему [0]? потому что getElementsByClassName возвратов классов (совпадающих элементов DOM) в виде массива, так [0] является индексом здесь :-) А для второй кнопки вы можете вызвать щелчок с помощью

document.querySelector("button[type=submit]").click(); 

Кстати если вы используете jquery, то почему бы вам не использовать

$(".red").click(); 
$("button[type=submit]").click(); 

В любом случае оба решения должны работать. Надежда, что помогает :-)

+0

есть обе методы делаю работа! Большое вам спасибо –

+0

Добро пожаловать :-) Отметьте ответ как принятый, чтобы он мог помочь и другим. –

1

Использование JQuery ..

$('td[class="red"], button[class="btn btn-default btn-success"]').click(); 
+0

Благодарим вас за ввод. Хорошо принят, и я кое-что узнал! –

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