У меня есть следующая таблица:
Я пытаюсь получить первые имена
<table id="myTable">
<thead>
<tr>
<th>FirstName</th>
<th>LastName</th>
</tr>
</thead>
<tbody>
<tr>
<td data-usage="firstname"><input type="text" value="Mike" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<td data-usage="firstname"><input type="text" value="Jo" /></td>
<td><input type="text" /></td>
</tr>
</tbody>
</table>
Итак, у меня есть jquery:
$("#myTable tbody tr td[data-usage='firstname'] input").each(function () {
alert($(this).value());
});
Я ожидал получить два сообщения по одному для каждого имени.
вместо этого я получаю:
Uncaught TypeError: Object [object Object] has no method 'value'
Пожалуйста, кто-нибудь может объяснить, что я делаю неправильно
Это должно быть $(this).val()
not $(this).value()
Вы хотите $(this).val()
. В jQuery нет функции value().
Объект jQuery не имеет свойства value, только собственные DOM-узлы
alert( this.value );
с jQuery вы будете использовать метод val()
:
alert( $(this).val() );