Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Совершить клик по Label (https://javascript.ru/forum/misc/61038-sovershit-klik-po-label.html)

NoN 02.02.2016 00:07

Совершить клик по Label
 
Здравствуйте, пытаюсь сделать плагин для хрома.
Нужно совершить пару кликов, но не получаться, клик просто не происходит.
Я так понимаю потому что за label стоит checkbox и такой код не помогает:
document.getElementById('country_code_AF').click()

Спасибо laimas . Оказывается клик срабатывал, просто этого не было видно.

Вот кусок страницы:
<div id="country-block">
  <div id="country-list">
    <ul>
        <li class="country-wrap">
          <input id="country_code_AF" value="AF" name="iso_country_code" type="checkbox">
          <label for="country_code_AF">Афганистан</label>
        </li>
</ul>
  </div>
  </div>

Decode 02.02.2016 00:16

<input id="inp" type="checkbox" />
<label for="inp">Bla-bla</label>

<script>
	var inpElem = document.body.children[0],
	    label = inpElem.nextElementSibling;

	inpElem.onclick = function() {
		label.checked = true;
	};

	inpElem.click();
</script>

рони 02.02.2016 00:18

NoN,
нету элемента ещё на странице а вам уже кликать охота

laimas 02.02.2016 00:24

По label, это по атрибуту тогда - document.querySelector('[for=country_code_AF]').click()

NoN 02.02.2016 00:32

Цитата:

Сообщение от laimas (Сообщение 406008)
По label, это по атрибуту тогда - document.querySelector('[for=country_code_AF]').click()

Спасибо большое, помогли.
Я просто вообще пока не знаком с js и html и пытался сделать это уже 2 день.

laimas 02.02.2016 00:38

А почему программно именно по label, чем непосредственно по флажку не подходит?

NoN 02.02.2016 00:56

Цитата:

Сообщение от laimas (Сообщение 406010)
А почему программно именно по label, чем непосредственно по флажку не подходит?

Так я и не знал что можно сразу по флажку, к тому же не знаю как за него зацепиться за флажок)

laimas 02.02.2016 01:13

Цитата:

Сообщение от NoN
не знаю как за него зацепиться за флажок

document.getElementById('country_code_AF').click()

NoN 02.02.2016 01:18

Цитата:

Сообщение от laimas (Сообщение 406012)
document.getElementById('country_code_AF').click()

А так клик не происходит, хотя может и происходит, но label не выделяется.

laimas 02.02.2016 01:22

А метка и не должна выделяться, рабочий в этой "связке" флажок, а метка для удобства, чтобы можно было выбирать/снимать флажок щелчком не только по нему, но и по тексту связанному с ними, который определяется label.


Часовой пояс GMT +3, время: 06:26.