[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Необходимо узнать id строки таблицы
wollk
Есть таблица
<table>
<tr
id="1">
<td>
ооо </td>
<td> <span>
jjjjj</span></td>
<td> </td>
</tr>
</table>
<script
type="text/javascript">
$("span").dbclick(function(){


}
);
</script>


При клике на span нужно узнать id <tr> в котором он находится.Подскажите пожалуйста как это сделать
SoMeOnE
<script type="text/javascript">
$("span").click(function(){
id = $(this).closest('tr').attr('id');
});
</
script>
Zzepish
Jquery
$('tr').click(function(){

Alert($(this).attr("id"));
wollk
Спасибо работает. Но чё-то я не подумал. Таблицы создаются после загрузки страницы:

$("#list").append('<table class="table"><tr id="'+id+'"><td class="info">'+birthday+'</td><td class="info"><span>'+parents+'</span></td></tr></table>');	


И в таком случае не работает. Как заставить JS реагировать на код, который вставлен таким образом ?
SoMeOnE
<script type="text/javascript">
$("span").live('click', function(){
id = $(this).closest('tr').attr('id');
});
</
script>
bestxp
не live(он давно deprecated) а смотри в сторону delegate

$(body).delegate('.table tr", 'click", function(e) { // тут код} )


если что смотри в доку по jQ писал по памяти
wollk
Парни, ваши методы заставили найти статью на хабре http://habrahabr.ru/qa/22322/


сделал такую конструкцию:

<script type="text/javascript">
$("body").on( "click", "span", function(){
alert("0");
});
$("body").delegate( "click", "span", function(){
alert("3");
});
$("span").live('click', function(){
alert("1");
});

$('tr').click(function(){
alert("2");
});
</
script>


Сработал только on о_О (((( Ну ладно, спасибо, очень полезно, добавил себе на заметку 4 метода ))) closest, delegate, live, on

Огромное спасибо !
SoMeOnE
live и вправду уже deprecated )
Советуют on использовать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.