У вас там немного перепутано. Попробуйте это ...
function reorder(selector){
jQuery(selector)
.find('tr td:first-child')
// Remove the + 1 if you want it to start at 0.
.html(function(i) { return i + 1; });
}
Вот некоторые изменения ...
- Изменена переменная аргумента, чтобы она была более понятной.
- Вы можете использовать jQuery («селектор»), а не
jQuery.find()
.
- Вы можете использовать метод
html()
.
Стоит также упомянуть, что если вы не используете другую библиотеку jQuery (или не собираетесь), вы можете использовать $
, который короче jQuery
.
Я также изменил ваш HTML
<form>
<input type="button" onclick="reorder('#my-table');" value="test"/>
<table id="my-table">
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
</table>
</form>
Возможно, вы забыли, что использование нескольких атрибутов id
с одним и тем же значением не является допустимой разметкой. Вы можете использовать класс там, или лучше все же опустить его полностью. Вы можете не заботиться о допустимой разметке, но CSS и JavaScript браузеров могут сделать что-то напуганное (сейчас или в будущем), когда они ожидают, что атрибут id
уникален.