Jquery链接选择器问题

时间:2010-07-06 19:29:55

标签: jquery

我有一个动态生成的表。并在其中一行中的按钮上单击事件。我需要在单击按钮的行中获取带有“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个标签?

4 个答案:

答案 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()
相关问题