Почему не срабатывает querySelectorAll?
Ребят подскажите почему может не срабатывать такой пример.
mass = ["2610028", "1596552"];
if (!mass) {
console.log('Nastroek net');
} else {
var index;
for (index = 0; index < mass.length; ++index) {
console.log(mass[index]); //выводит верные числа
var urlx = document.querySelectorAll('a[href$="' + mass[index] + '"]'); //
console.log(urlx); // NodeList []
console.log(urlx.length); //0
for (var i = 0; i < urlx.length; i++) {
console.log(urlx[0]); //undefined
var tr_str = urlx[i].parentElement.parentElement;
var tb2_td = tr_str.querySelector('td:nth-child(2n)');
var chislo = tb2_td.innerHTML;
tr_str.querySelector('input[name="table_checkbox_' + chislo + '"]').checked = true;
}
}
}
<table border='1'>
<tbody>
<tr>
<td rowspan="1" align="center">
<div>
<label for="form-table-table_checkbox_1208837">
<input type="checkbox" name="table_checkbox_1208837" id="form-table-table_checkbox_1208837">
</label>
</div>
</td>
<td>1208831</td>
<td data-sum="1">
<a href="_order?id=2343027">2343027</a>
</td>
</tr>
<tr>
<td rowspan="1" align="center">
<div>
<label for="form-table-table_checkbox_1200037">
<input type="checkbox" name="table_checkbox_1200037" id="form-table-table_checkbox_1200037">
</label>
</div>
</td>
<td>1200031</td>
<td data-sum="1">
<a href="_order?id=2610027">2610027</a>
</td>
</tr>
<tr>
<td rowspan="1" align="center">
<div>
<label for="form-table-table_checkbox_1200032">
<input type="checkbox" name="table_checkbox_1200032" id="form-table-table_checkbox_1200032">
</label>
</div>
</td>
<td>1200032</td>
<td data-sum="1">
<a href="_order?id=2610028">2610028</a>
</td>
</tr>
<tr>
<td rowspan="1" align="center">
<div>
<label for="form-table-table_checkbox_1200033">
<input type="checkbox" name="table_checkbox_1200033" id="form-table-table_checkbox_1200033">
</label>
</div>
</td>
<td>1200033</td>
<td data-sum="0">
<a href="_order?id=2610028">2610028</a>
</td>
</tr>
<tr>
<td rowspan="1" align="center">
<div>
<label for="form-table-table_checkbox_1200034">
<input type="checkbox" name="table_checkbox_1200034" id="form-table-table_checkbox_1200034">
</label>
</div>
</td>
<td>1200034</td>
<td data-sum="0">
<a href="_order?id=2610028">2610028</a>
</td>
</tr>
</tbody>
</table>
То есть, здесь и на всяких там https://jsfiddle.net/fe1o7syb/ все срабатывает как надо. Но у меня срабатывает до вот этого момента:
var urlx = document.querySelectorAll('a[href$="'+mass[index]+'"]');
а дальше нет. Пробовал даже явно указывать адрес ссылки: var urlx = document.querySelectorAll('a[href="_order?id='+mass[index]+'"]');
Все равно не работает. С чем это может быть связано?
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Ваш код выполняется до того, как созданы DOM-элементы, которые Вы ищете.