我有一个动态生成的表。并在其中一行中的按钮上单击事件。我需要在单击按钮的行中获取带有“label1”和“label2”类的标签值。这是示例html:
<table>
<tbody>
<tr>
<td><label class="label1">test row 1 - label 1</label></td>
<td><label class="label2">test row 1 - label 2</label></td>
<td><input type="button" id="btnTest1" class='btn' value="Click me" /></td>
</tr>
<tr>
<td><label class="label1">test row 2 - label 1</label></td>
<td><label class="label2">test row 2 - label 2</label></td>
<td><input type="button" id="btnTest2" class='btn' value="Click me" /></td>
</tr>
</tbody>
</table>
我可以通过执行以下操作获取父行:$(this).closest('tr')
但是如何将其链接以获取单击行中的2个标签?
答案 0 :(得分:1)
要获取标签,请执行以下操作:
$(this).closest('tr').find('label');
不确定标签值的含义,但如果您想要数组中标签的文本,则可以执行以下操作:
var array = $(this).closest('tr').find('label').map(function() {
return $(this).text();
}).get();
答案 1 :(得分:1)
$(this).closest('tr').find('.label1, .label2');
或者如果您确定,则不会有任何不需要的标签:
$(this).closest('tr').find('label');
答案 2 :(得分:0)
您正在寻找当前<tr>
的所有孩子,除了最后一个孩子:
$(this).parent().parent().children(':not(:last)')
最终编辑:
$(this).closest('tr').children(':not(:last)').children('label')
答案 3 :(得分:-1)
$(this).parent().parent().find('.label1').html()
会为您提供label1
类中字符串内容的值。根据你想要做的事情,你最终可能会迭代这样的事情:
$(this).parent().parent().find('.label1,.label2').each()