我正在尝试在 Oracle Apex 网页上使用JavaScript函数。对象是有一个链接,当最初单击时,打开所有子区域,再次单击时,关闭所有子区域。本质上,一个简单的切换。功能如下:
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')
}
})
}
它最初似乎可以工作,当我单击我的链接时,它会打开所有子区域并且文本会更改以反映它的新功能,即隐藏全部。
但是,从那时起,它就不起作用了。那时我收到一个错误,即:
未捕获的类型错误:无法调用未定义的方法“substr”
它声称这个错误被抛出在我的子字符串行,就在 else 子句之后。
任何人都可以阐明为什么会这样吗?