页面提交报错:Uncaught TypeError: Cannot read property ‘tabs‘ of undefined

博客讲述了在JavaScript中遇到的一个页面提交错误:UncaughtTypeError,原因是尝试访问未定义的'tabs'属性。作者通过检查和调整页面结构,发现原本id为'main'的div内存在多个table,可能造成识别混乱。解决方案是重新排列div和table的顺序,确保正确关联。问题解决后,代码能够正常执行,不再报错。
摘要由CSDN通过智能技术生成

页面提交报错:Uncaught TypeError: Cannot read property ‘tabs’ of undefined,我是在页面上调用了如下的方法报错

function doClose(){
	var jq = top.jQuery;
	var tabName = "流程申请";
	if(window.opener){
		closeWindow();
	}else{
		if(jq('#main').tabs('exists',tabName)){
			jq('#main').tabs('close',tabName);
		}
	}
}

是用tabs元素undefined,即jq(‘#main’)没有找到,检查以下本页面无法识别错误。
之后想到打开该页面的源页面,

<div id="main">
	<div id="tb">
		<table style="width: 100%;" border="0" cellpadding="0" cellspacing="0">
			...页面元素input控件之类的...
		</table>
	</div>
	<table id="dg"></table>
</div>

改为

<div id="tb">
		<table style="width: 100%;" border="0" cellpadding="0" cellspacing="0">
			...页面元素input控件之类的...
		</table>
</div>
<div id="main">
	<table id="dg"></table>
</div>

则可以正常执行,不报错。说明此时获取到了jq(‘#main’),我猜想可能是原来的代码id为main的div中有多个table,识别干扰。而链接页面是从id=“dg”的table链出的。需要有关联。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值