Jquery 如何通过.closest()获取表Id?
基于下面的示例,我想检索父表的id。为什么DIV Id没有问题 在控制台中,前两个日志未定义Jquery 如何通过.closest()获取表Id?,jquery,Jquery,基于下面的示例,我想检索父表的id。为什么DIV Id没有问题 在控制台中,前两个日志未定义 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(document).r
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var f = $("span").closest("table.outherTabClass").attr("id");
console.log(f);
var g = $("span").closest("table.innerTabClass").attr("id");
console.log(g);
var h = $("span").closest(".firstLevelDivClass").attr("id");
console.log(h);
var i = $("span").closest("div").attr("id");
console.log(i);
});
</script>
</head>
<body>
<div id="firstLevelDivId" class="firstLevelDivClass">
<table id = "outherTabId" class ="outherTabClass">
<table id = "innerTabId" class ="innerTabClass">
<div id ="secondLevelDivId">
<div id ="thirdLevelDivId">
<span>spanText</span>
</div>
</div>
</table>
</table>
</div>
</body>
</html>
$(文档).ready(函数(){
var f=$(“span”).closest(“table.outherTabClass”).attr(“id”);
控制台日志(f);
var g=$(“span”).closest(“table.innerTabClass”).attr(“id”);
控制台日志(g);
var h=$(“span”).closest(.firstLevelDivClass”).attr(“id”);
控制台日志(h);
var i=$(“span”).最近的(“div”).属性(“id”);
控制台日志(i);
});
西班牙文
问题是因为您的表
HTML无效。表中的内容需要位于td
内、tr
内、thead
、tbody
或tfoot
内
修正后,代码运行良好:
$(文档).ready(函数(){
var f=$(“span”).closest(“table.outherTabClass”).prop(“id”);
控制台日志(f);
var g=$(“span”).closest(“table.innerTabClass”).prop(“id”);
控制台日志(g);
var h=$(“span”).closest(.firstLevelDivClass”).prop(“id”);
控制台日志(h);
var i=$(“span”).最近的(“div”).道具(“id”);
控制台日志(i);
});代码>
西班牙文
您不能从表中的表开始…这只是简化。。。我有表和一些子表作为行(TR)扩展,这是无效的。你的问题得到回答了吗?如果没有,请编辑您的问题,使其可回答。或者,将给出的答案标记为正确答案。