Oracle Apex中的Javascript;无法调用未定义的substr方法;
我试图在Oracle Apex网页上使用JavaScript函数。对象将具有一个链接,该链接在最初单击时打开所有子区域,再次单击时关闭所有子区域。本质上,是一个简单的切换。功能如下:Oracle Apex中的Javascript;无法调用未定义的substr方法;,javascript,jquery,oracle-apex,Javascript,Jquery,Oracle Apex,我试图在Oracle Apex网页上使用JavaScript函数。对象将具有一个链接,该链接在最初单击时打开所有子区域,再次单击时关闭所有子区域。本质上,是一个简单的切换。功能如下: initContentFrameTabs = function(){ $('div.uFrameRegionSelector > ul li a').click(function(e){ e.preventDefault(); link = $(this); subregions = link.parents
initContentFrameTabs = function(){
$('div.uFrameRegionSelector > ul li a').click(function(e){
e.preventDefault();
link = $(this);
subregions = link.parents('.uFrameMain').find('section.uHideShowRegion');
link.parents("ul").find('li a').removeClass('active')
if (link.hasClass('showAllLink')) {
expandAllSections();
// subregions.show();
link.addClass('active');
document.getElementById('Title').innerHTML = 'Hide All';
} else if (link.hasClass('active')) {
hideAllSections();
link.parents("ul").find('li a').removeClass('active')
document.getElementById('Title').innerHTML = 'Show All';
} else {
expandSection(link.attr('id').substr(4));
// subregions.hide();
// $('#'+link.attr('id').substr(4)).show();
link.addClass('active')
}
})
}
它一开始似乎可以工作,当我点击我的链接时,它会打开所有子区域,文本会发生变化,以反映它的新功能,即全部隐藏。然而,从那时起,它就不起作用了。此时我收到一个错误,即: 未捕获的TypeError:无法调用未定义的方法“substr” 它声称此错误被抛出我的子字符串行,就在else子句之后。
有人能解释一下为什么会发生这种情况吗?看来link.attr('id')没有定义。所以我想看看,在你第一次点击之后,这个链接是否还有一个ID属性。很可能,链接是重新创建的,第二次创建时没有id 但是,首先,在链接之后,打开DOM,看看链接是否仍然具有该属性