На странице есть radio
элемент, на который я хочу кликнуть. Таких элементов много, поэтому я хочу найти нужный и кликнуть на него.
Array.prototype.forEach.call(t, function(el) {
// Do stuff here
if (el.innerText == "Нужный элемент") {
el.click()
}
});
Почему-то данный клик не отрабатывается. Также пробовал check()
- результат аналогичен.
<div class="radio">
<label title="">
<input type="radio" name="title" value="Н235"><!-- react-text: 149 -->Нужный элементы<!-- /react-text -->
</label>
</div>
input
-а вообще нет текста внутри: <!-- react-text: 149 -->Нужный элементы<!-- /react-text -->
находится внутри label
innerText
могут оказаться, например, пробельные символы в начале и в конце (а в вопросе вообще "Нужный элементы"), то либо нужно всё лишнее обрезать, либо вместо проверки на равенство строк использовать поиск подстроки в строкеВ итоге получается так:
var t = document.querySelectorAll("label");
Array.prototype.forEach.call(t, function(el) {
if (el.innerText.indexOf("Нужный элемент") != -1) {
el.querySelector("input").click();
}
});
<div class="radio">
<label title="">
<input type="radio" name="title" value="Н234"/>
Совсем не тот элемент
</label>
</div>
<div class="radio">
<label title="">
<input type="radio" name="title" value="Н235"/>
Нужный элемент
</label>
</div>
Если нужно не именно кликнуть на элемент, а просто выбрать нужный, то вместо click()
имеет смысл устанавливать свойство checked
:
el.querySelector("input").checked = true;
Есть 2 способа решения вашей задачи:
Первый:
var elms = document.querySelectorAll('label');
[].forEach.call(elms, function(el)
{
if(el.innerHTML.indexOf('Нужный элемент 149') >= 0)
el.click()
});
<label><input type="radio" name="title" value="Н235"><!-- react-text: 149 -->Нужный элемент 149<!-- /react-text --></label><br>
<label><input type="radio" name="title" value="Н236"><!-- react-text: 150 -->Нужный элемент 150<!-- /react-text --></label>
Второй:
var elms = document.querySelectorAll('input');
[].forEach.call(elms, function(el)
{
if(el.value == 'Н236')
el.click()
});
<label><input type="radio" name="title" value="Н235"><!-- react-text: 149 -->Нужный элемент 149<!-- /react-text --></label><br>
<label><input type="radio" name="title" value="Н236"><!-- react-text: 150 -->Нужный элемент 150<!-- /react-text --></label>
Затея такая: на главной странице есть менюшкаКогда перехожу на любую другую страницу эта менюшка скрыта в "Каталог" и когда я нажимаю на каталог...
можно ли получить заголовки при отправке аякса, а имеено cookies?