2013-07-26 2 views
1

Я пытаюсь установить событие click на стол каждой строке с этим.Как удалить событие click на первой строке таблицы

Это таблица:

<table border='1px'> 
    <tr> 
     <td class='td'>first row frist column</td> 
     <td>first row second column</td> 
    </tr> 
    <tr> 
     <td class='td'>second row frist column</td> 
     <td>second row second column</td> 
    </tr> 
    <tr> 
     <td class='td'>third row frist column</td> 
     <td>third row second column</td> 
    </tr> 
</table> 

И это просто JQuery: -

$('table tbody tr td:nth-child(1)').live('click',function(){ 
alert($(this).text()); 
}) 

С этим я нажимаю любой из первого столбца, то на его предупреждение я хочу незадана таблицы первой строки столбца нажмите мероприятие.

Как это сделать.

ответ

2

Попробуйте это DEMO http://jsfiddle.net/yeyene/CGbXP/4/

Дайте класс col+number всем колонкой. Затем используйте ...

var i = 1; 
$('td').each(function(){  
    $(this).addClass('col'+i); 
    i = i+1; 
}); 

$('table').find("td:not(.col4)").on('click',function(){ 
    alert($(this).text()); 
}) 
+0

Я хочу установить там второй идентификатор столбца ... как? –

+0

проверка обновлений ответ н демо – yeyene

+0

нет нет ... Я хочу, чтобы установить первую строку второй столбец ID = «второй» что-то вроде ' первая строка Фрист колонке <тд ID = 'второй '> второй столбец первой строки ' –

2

Вы можете использовать псевдоселектор :not(), чтобы исключить первую строку из привязки вашего клика.

$('table tbody tr:not(:first) td:first-child') 

Это добавит обработчик кликов ко всем первым столбцам, за исключением первого столбца в первой строке. Here - это jsFiddle для вышесказанного. не

1

Использование метода .live() больше не рекомендуется, так как более поздние версии JQuery предложения лучшие методы, которые не имеют свои недостатки

.live является принизить в последней версии JQuery.

Попробуйте

$('table tbody tr:not(:first)').on('click',function(){ 
alert($(this).text()); 
}); 

JsFiddle

+0

я хочу, чтобы установить там второй идентификатор столбца ... как? –

1

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

$('table tbody tr:gt(0) td:nth-child(1)').live('click',function(){ 
    alert($(this).text()); 
}); 

Однако в более поздних версиях jQuery, .live устаревшие и даже удалено в версии 1.10, поэтому вы должны использовать вместо .on:

$('table tbody tr:gt(0) td:nth-child(1)').on('click',function(){ 
    alert($(this).text()); 
}); 

Наконец, в случае, если вы должны когда-либо вложенные таблицы, ваш селектор будет возвращать слишком много хитов. Выберите прямые детей вместо:

$('table > tbody > tr:gt(0) > td:nth-child(1)').on('click',function(){ 
    alert($(this).text()); 
}); 

Демо: http://jsfiddle.net/2FkDY/

+0

i хотите установить идентификатор первого столбца второй строки ... как это сделать? –

0

Я думаю, что вы не должны дать класс на первом ряду, то используйте onclick событие.

$('.td').on('click', function() { 
    //do your stuff here 

}); 

Надеется, что это помогает

Смежные вопросы