答案 0 :(得分:1)
如果通过"值"你的意思是其他两个单元格中的1和3,你使用closest
来查找行,然后使用find
或children
来访问td
在里面。这是你可能采取的一种方式:
$("#button").on("click", function() {
// Get the row
var row = $(this).closest("tr");
// Get the cells and their contents:
row.children("td").each(function() {
var $this = $(this);
// Ignore the one with the button
if (!$this.find("button").length) {
// Does this one have the select?
var select = $this.find("select");
if (select.length) {
// Yes, use that
console.log(select.val());
} else {
// No, grab text
console.log($(this).text());
}
}
});
});

<table>
<tbody>
<tr>
<td>1</td>
<td><select>
<option>a</option>
<option>b</option>
</select>
</td>
<td>3</td>
<td>
<button id="button">I'm a button</button>
</td>
</tr>
</tbody>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
但是refer to the API,您可以通过许多其他方式访问这些td
。
请注意,我将button
包裹在td
中。您的原始标记无效,您不能button
作为tr
的直接子项。
另请注意,如果您有多个tr
,则无法对所有这些id="button"
使用{可能更适合使用课程),但我猜测来自ID,这只是你为问题提出的占位符。 : - )