Селектор jQuery сначала td каждой строки
У меня есть этот материал:
<table>
<tr>
<td>nonono</td> <!-- FIND THIS -->
</td>foobar</td>
</tr>
<tr>
<td>nonono2</td> <!-- FIND THIS -->
</td>foobar2</td>
</tr>
<tr>
<td>nonono3</td> <!-- FIND THIS -->
</td>foobar2</td>
</tr>
</table>
Я пробовал с $('td:first')
без везения;
Ожидаемый возврат: <td>nonono</td>
, <td>nonon2</td>
и <td>nonon3</td>
Спасибо заранее!
Ответы
Ответ 1
Вы должны использовать :first-child
вместо :first
:
Похоже, вы хотите итерации через них. Вы можете сделать это, используя .each()
.
Пример:
$('td:first-child').each(function() {
console.log($(this).text());
});
Результат:
nonono
nonono2
nonono3
Если вы не хотите повторять итерацию:
$('td:first-child').css('background', '#000');
демонстрация JSFiddle.
Ответ 2
попробуйте этот селектор -
$("tr").find("td:first")
Демо -->
http://jsfiddle.net/66HbV/
или
$("tr td:first-child")
Демо -->
http://jsfiddle.net/66HbV/1/
</td>foobar</td>
должен быть <td>foobar</td>
Ответ 3
Использование:
$("tr").find("td:first");
js fiddle - в этом примере .text()
в конце, чтобы показать, что он возвращает элементы.
В качестве альтернативы вы можете использовать:
$("td:first-child");
.find()
- Документация API jQuery
Ответ 4
попробовать
var children = null;
$('tr').each(function(){
var td = $(this).children('td:first');
if(children == null)
children = td;
else
children.add(td);
});
// children should now hold all the first td elements
Ответ 5
$('td:first-child')
вернет коллекцию требуемых элементов.
var text = $('td:first-child').map(function() {
return $(this).html();
}).get();
Ответ 6
var tablefirstcolumn=$("tr").find("td:first")
alert(tablefirstcolumn+"of Each row")