2010-06-10 2 views

ответ

3

Если вы хотите ваш ответ в массиве:

$('table#mytable td:first-child').click(function(){ 
    var resultArray = $(this).closest('tr').find('td').map(function(){ 
     return $(this).text(); 
    }); 
    // Do something with resultArray 
    // resultArray is a jQuery object 
    // resultArray.get() is a plain array. get() can be chained above. 
}); 
+0

Изменение первый экземпляр '});' в '}) получаем()' возвращает массив вместо объекта JQuery. – Greg

+0

Просто небольшая модификация, я бы добавил: $ ("# yourtable"). Find ("td: first-child") вместо глобального выбора любого $ ('td: first-child'). –

+0

@Jeff: Согласовано. Я держал его простым, но, конечно, вы правы, что лучше быть более конкретным. Я отредактирую (и изменю селектор, а не добавлю find()). –

1
$("td").click(function(){ 
    $(this).parent().find("td").each(function(){ 
    alert(this + " is one entry of your current row"); 
    }); 
}); 
2
$("td:first-child").click(function(){ 
    $(this).closest('tr').find("td").each(function(){ 
    alert(this.innerHTML); 
    }); 
}); 
1

Зависит от того, что на самом деле в таблице немного.

var mystuff = $("td").click().parent('tr').children('td').text(); 
var mystuff = $("td").click().parent('tr').children('td').innerHtml(); 

доступа к ним:.

mystuff.each(function() 
{ 
//do stuff 
}; 
mystuff.eq(2) // do stuff with second one 
Смежные вопросы