Добавить событbе к тэгу при помощи JavaScript

S3
На сайте с 29.03.2012
Offline
367
605

Есть обычная таблица в HTML типа


<table id="TblId">

<tr>
<td>Колонка0</td>
<td>колонка1 </td>
<td>колонка2</td>
<td>колонка3</td>
<td>колонка4</td>
<td>колонка5</td>
<td>колонка6</td>
<td>колонка7</td>
<td>колонка8</td>
<td>колонка9</td>
<td>колонка10</td>
</tr>
<table>

Хочу к тэгу tr добавить событие, например onclick

Вижу примерно так:


var elem = document.getElementsByTagName('tr');

elem.onclick = function(){alert('получилось ')};

Но ничего не работает(. Подскажите, как правильно оформить? В итоге в HTML коде ко всем тэгам tr должно добавиться событие по клику.

[umka]
На сайте с 25.05.2008
Offline
456
#1

Функция getElementsByTagName() выдаёт список, даже если в нём всего один элемент.

Вам нужно весь этот список перебрать и на каждый елемент уже прицепить onclick.

Лог в помощь!
Mad_Man
На сайте с 10.11.2008
Offline
162
#2

1. Не закрыт <table>

2. http://jsfiddle.net/bofL0uks/

S3
На сайте с 29.03.2012
Offline
367
#3

А если я хочу одному только элементу навесить событие, тогда как?

Так-

elem[1].onclick = function(){alert('получилось ')};
дани мапов
На сайте с 06.09.2012
Offline
204
#4

[].forEach.call(document.getElementsByTagName("tr"),function(el){

el.addEventListener("click",function(e){

alert('получилось ');

});

});

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
S3
На сайте с 29.03.2012
Offline
367
#5
Mad_Man:
1. Не закрыт <table>
2. http://jsfiddle.net/bofL0uks/

Таблица для примера была, на самом деле все закрыто.

Ваш вариант работает, только, я понимаю нужно обработчик запускать после загрузки страницы.

А если на чистом JS?

vob2014
На сайте с 30.03.2014
Offline
91
#6

...............(сорри)

...
S3
На сайте с 29.03.2012
Offline
367
#7

Спасибо, начало получаться, но обнаружил неудобную для себя вещь - не действует на тэг, если он вложен в другой id. А у меня таблица размещена например:


<div id="1">
<div id="2">
<table id="3">
...
</table>
</div>
</div>

Как в таком случае прописывать это -

var el = document.getElementsByTagName('tr'); ??

---------- Добавлено 27.01.2015 в 12:10 ----------

Спасибо!!! Разобрался и решил задачу с вашей помощью. По итогу получился довольно простой скрипт для вывода таблицы с фиксированными шапкой и левым краем и подсветкой наведенной строки!!! Работать там есть еще над чем, но по-моему результат неплохой! вот -

http://gymn9.minsk.edu.by/be/main.aspx?guid=1531

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий