我有几排桌子。每行都有标题,数据和隐藏字段。数据列可以具有文本或文本区域。
<table id="knowledgeTreeTable" class="custom">
<tbody>
....................
<tr>
<th class="">What is the name of the party?</th>
<td class="">
<textarea id="ktField_7" class="ktEdit" type="text"></textarea>
</td>
<input id="ktField_7H" type="hidden" value="Unique contested">
</tr>
<tr>
<th class="">What is the name of the opposing party?</th>
<td class="">
<input id="ktField_8" class="ktEdit" type="text" style="width: 97%;">
</td>
<input id="ktField_8H" type="hidden" value="Query">
</tr>
......................
</tbody>
</table>
我能够读取标头和隐藏字段的内容,但不确定如何读取数据列,因为它可以具有两种不同类型的元素。
$("#knowledgeTreeTable tr").each(function() {
alert($('th', this).text());//OK
//alert($('td > [input, textarea]', this).val()); // This is not OK.
alert($('input', this).val());//OK
});
最佳答案
就像在CSS选择器中一样,寻找这两个:
alert($('td > input, td > textarea', this).val());
尽管由于您对两者都使用相同的类,所以我倾向于使用:
alert($('td > .ktEdit', this).val());