Oracle Apex中的Javascript;无法调用未定义的“”的方法子字符串;
Javascript in Oracle Apex, "Cannot call method substr of undefined"
我正试图在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子句之后
有人能解释为什么会发生这种情况吗?
看起来link.attr('id')是未定义的。所以我想看看在你第一次点击后,这个链接是否还有ID属性。很可能,链接是重新创建的,但第二次创建时没有id。
不过,首先,在链接之后,打开DOM,看看链接是否仍然具有该属性。
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 在JavaScript中拆分日期字符串的更好方法是什么
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- jQuery字符串使用split()方法在空格后拆分字符串
- 使用查询字符串方法清除浏览器缓存
- 检查变量是否为字符串的简单方法
- 使用.join方法将数组转换为不带逗号的字符串
- Javascript:不使用.split()方法拆分字符串
- 使用子字符串方法时应用程序挂起的原因
- 如何更改字符串的查找方法
- 什么时候字符串不是字符串?当它没有 include() 方法时
- get没有方法“writefile”,即使输入是一个字符串
- 在JavaScript中,有没有一种方法可以解析JSON,将数字转换为字符串
- 使用 MVC 删除 JavaScript 中硬编码字符串 Asp.Net 最佳方法
- 使用 eval 从字符串创建函数的不同方法
- Javascript CharAt 方法不适用于字符串
- Javascript方法以字符串形式返回方法代码
- 为什么String的方法.字符串字面值可用的原型
- 如何在javascript参数函数中传递PHP post方法字符串