首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过jQuery在动态表中获取行索引

如何通过jQuery在动态表中获取行索引
EN

Stack Overflow用户
提问于 2014-03-27 20:35:39
回答 3查看 29.4K关注 0票数 10

我使用jquery在页面中动态创建表格内容,如何获取这个动态表格的行号索引?在下面的代码中,当我单击"show more“链接时,我在下面的代码中使用了index函数,但它不起作用。如何解决这个问题?谢谢。

代码语言:javascript
运行
复制
 $.getJSON(JsonURL,
        function(data){

            $.each(data, function(index, item){
                var obj = item;
                books.push(book);
            });
            for (var i = 0; i<obj.length; i++) {
                var tr=$('<tr></tr>'); 
                $('<td>'+ obj[i].name +'</td>').appendTo(tr);
                $('<td>'+ obj[i].category +'</td>').appendTo(tr);
                $('<td><a class=\'showMore\' href=#>'+ 'show more' +'</a></td>').appendTo(tr);
                tr.appendTo('#tableBody');
            };
    });
    $('a .showMore').on('click', function(event) {
        var rowindex = $(this).parent().parent().children().index($(this).parent);
        console.debug('rowindex', rowindex);
    });
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-27 20:37:29

对于动态创建的元素,需要使用:

事件委派允许我们将单个事件侦听器附加到父元素,该侦听器将为与选择器匹配的所有子元素触发,无论这些子元素现在存在还是将来添加。

代码语言:javascript
运行
复制
$('body').on('click', 'a.showMore', function(event) {
    var rowindex = $(this).closest('tr').index();
    console.debug('rowindex', rowindex);
});

请注意,您不需要在a.showmore之间使用空格,因为a .showmore将选择任何具有showmore类的元素,该类是锚点的子类。

另外,.parent()是一种方法,所以如果你想使用parent,你需要在.parent()之后使用.parent()

另一个建议是,您可以使用而不是多个parent()方法

票数 16
EN

Stack Overflow用户

发布于 2014-03-27 20:37:34

您可以尝试使用:

代码语言:javascript
运行
复制
$(document).on('click', '.showMore', function(event) {
    var rowindex = $(this).closest('tr').index();
    console.debug('rowindex', rowindex);
});
票数 5
EN

Stack Overflow用户

发布于 2014-03-27 20:36:25

为此,您应该使用

代码语言:javascript
运行
复制
$(document).on('click',".showMore", function(event) {
    var rowindex = $(this).parents("tr").index();
    console.debug('rowindex', rowindex);
});

事件委派允许您将单个事件侦听器附加到父元素,该侦听器将为与选择器匹配的所有子元素触发,无论这些子元素现在存在还是将来添加。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22687844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档