我有下面的html片段。该表用于JQgrid。
<section id="section_students">
<table id="grid_students"></table>
<a class="btn" href="#">Click</a>
</section>
如果单击同一部分下的按钮,我打算使用JQuery查找表的值。
$("section a.btn").click(function(){
var curGrid = $(this).parent().find('table').get(0);
alert($(curGrid).attr("id"));
});
此警报将返回“未定义”,我无法理解原因 我错过了什么?
编辑:看起来JQGrid更改了表的ID,这很奇怪。我会研究这个,同时,如果有人知道如何防止这种行为,请告诉我。
答案 0 :(得分:1)
jqGrid会在tabeles和dives的复杂结构中转换原始<table>
(示例中为<table id="grid_students"></table>
)。您原始代码的最简单修改可能是
$("section a.btn").click(function(){
var curGrid = $(this).parent().find('table.ui-jqgrid-btable').get(0);
alert($(curGrid).attr("id"));
});
(我使用jqGrid在原ui-jqgrid-btable
上设置<table>
类的事实。
答案 1 :(得分:0)
试试这个
$("#section_students").find("a.btn").click(function(){
var curGrid = $(this).parent().find('table').get(0);
alert($(curGrid).attr("id"));
});
答案 2 :(得分:0)
效果很好,你把javascript代码放到了jquery ready()。
$(function(){
$("section a.btn").click(function(){
var curGrid = $(this).parent().find('table').get(0);
alert($(curGrid).attr("id"));
});
});
答案 3 :(得分:0)
请将您的代码放入$(document).ready(function(){......});
$(document).ready(function(){
$("section a.btn").click(function(){
var curGrid = $(this).parent().find('table').get(0);
alert($(curGrid).attr("id"));
});
});