使用jQuery选择对象的Children

时间:2011-08-25 13:52:34

标签: javascript jquery html

我有这个功能,我用来打开一个模态对话框,我需要填充“dblclicked”节点的一些信息:

$(function(){
    $(".delete").live('dblclick', function () {
        var id = $(this).attr('id');
        $('#delID').val(id);
        var txt = this.parentNode.children[2].innerHTML;
        $("#details").html(txt);
        $("#delAssign").dialog('open');
    });
});

html示例:

<tr>
    <td class='delete'></td>
    <td></td>
    ...
    <td></td>
</tr>
<tr>
...
</tr>

现在我正在使用纯javaScript获取

var txt = ...

问题是“如何使用jQuery为var txt实现相同的结果?”

3 个答案:

答案 0 :(得分:3)

您可以将其更改为:

var txt = $(this).siblings(":eq(2)").html();

我认为这是最快的解决方案。

答案 1 :(得分:2)

像这样:

var txt = $(this).parent().children().eq(2).html();

.parent()选择父元素。

.children()选择孩子

.eq(2)在子项

中选择索引为2的元素

.html()获取此元素的html内容

修改:感谢Felix Kling将children(':eq(2)')更改为children().eq(2)

答案 2 :(得分:0)

var txt = $(this).siblings().eq(2).html();

使用eq()作为方法而不是将其作为选择器传递更快。

无论如何,既然你已经有了JavaScript解决方案,为什么要使用jQuery减慢速度?