Stasy11
@Stasy11
The best epta

Как задать класс всем тегам в определенном блоке через js?

Допустим, есть таблица:

<table>
    <tbody>
        <tr>
            <td>1 text</td>
            <td><a href="/">link</a></td>
        </tr>
</tbody>
</table>

Нужно задать класс "btn" всем ссылкам именно в этой таблице через js.

Нашел такой код, но он добавляет класс ко всем ссылкам на всём сайте, а мне нужно только в этой таблице:

;(function () {
var img = document.getElementsByTagName('img');
  for (var i=img.length; i--;) {
        img[i].className += ' responsive';
  }
})();

Как такое сделать?
  • Вопрос задан
  • 536 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Вместо document.getElementsByTagName('img');
используйте document.querySelectorAll('table img')

Если у вас не одна таблица, то придется как-то выделить нужную. Добавить ей класс или айди, например.
document.querySelectorAll('#myTable img')

И почему img, вы ведь вроде ссылки искали?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
twobomb
@twobomb
Если всем таблицах то так. querySelectorAll не рекомендую использовать для кроссбраузерности.
var tables = document.body.getElementsByTagName("table");
for(var i = 0; i < tables.length; i++){
	var a = tables[i].getElementsByTagName("a");
  for(var j = 0; j < a.length;j++)
  	a[j].classList.add("myclass");
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы