获取表格ID

我正在使用jquery,我的目标是获得下一个表的id。 我将在这里简化代码:

简化的HTML如下所示:

<div>
   <img src="png.png" class="exportIcon" alt='' onClick="tableExport()">
   <table class="table tablesorter" id="tableHourlyT"><tr><td></td></tr></table>
</div>

然后我有以下功能:

<script>
    function tableExport(){
        tableID = $(this).next('table').attr("id");
        alert(tableID);
    }
</script>

但警报说“未定义”,事实上我甚至不能对桌子做任何事情,我试图隐藏它等。它只是没有找到它。 我也尝试用“最接近的()”来代替“next()”,但我仍然有相同的结果。 我需要做的是始终调用该函数时,从该元素获取最接近的下一个表的id(单击的图像/按钮)


这里有一种方法来做你想做的事 - 将元素作为参数传递给tableExport函数:

<div>
   <img src="png.png" class="exportIcon" alt='' onClick="tableExport(this)">
   <table class="table tablesorter" id="tableHourlyT"><tr><td></td></tr></table>
</div>

然后,在jQuery选择器中使用它:

<script>
    function tableExport(element){
        tableID = $(element).next('table').attr("id");
        alert(tableID);
    }
</script>

你不应该使用onClick属性,而是使用jQuery事件处理程序:

$( “exportIcon”)点击(TABLEEXPORT)。 //只要导出图标被点击,将tableExport绑定为处理函数function tableExport(){...}

当你以这种方式绑定事件时,你会发现$(this)被正确设置为被单击的元素。

http://www.codeply.com/go/y6OAZFRZSn

(我用演示按钮替换了你的img,但它的工作原理是一样的。)


还可以使用:

var tableID = $(element).next('table').attr("id");

代替:

tableID = $(element).next('table').attr("id");

没有var前缀的变量将在全局范围内定义

链接地址: http://www.djcxy.com/p/83315.html

上一篇: Getting table id

下一篇: get ID of this