所有版本的IE返回SCRIPT5007无法获取属性'长度'的未定义引用或null引用
All versions of IE return SCRIPT5007 Unable to get property 'length' of undefined or null reference
我有以下代码:
$('.sublime-typer').each(function() {
var maximum = $(this).attr('data-terminal');
for (var j = 1; j <= maximum; j++) {
var $el = $('.sublime-typer[data-terminal="' + j + '"]'),
txt = $el.html(),
txtLen = txt.length,
timeOut,
char = 0,
drawValue = 1;
$el.text('|');
(function typeIt() {
var humanize = Math.round(Math.random() * (2 - 50)) + 30;
timeOut = setTimeout(function() {
char++;
var type = txt.substring(0, char);
if (type.indexOf('data-compiled="true-' + drawValue + '"') >= 0) {
var currentClass = $('.drawValue-' + drawValue).attr('class');
$('.drawValue-' + drawValue).attr('class', currentClass + ' activated');
$('.drawValue-' + drawValue).addClass('activated');
// For firefox as it doesn't support svg letter spacing :(
if( (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) && (drawValue == 2) ){
$('.drawValue-' + drawValue).attr('dx', '0 -3px')
}
drawValue = drawValue + 1;
}
$el.html(type + '|');
typeIt();
if (char == txtLen) {
$el.html($el.html().slice(0, -1)); // removes the '|'
clearTimeout(timeOut);
}
}, humanize);
}());
}
});
它在所有版本的Firefox、Chrome和Safari中都能完美运行,但在任何版本的IE上,它都会返回错误:SCRIPT5007: Unable to get property 'length' of undefined or null reference.
如果我在脚本周围有window.load或document.ready,并且如果我将txtLen = txt.length,
更改为txtLen = txt.val,
,但错误中使用val而不是长度,则会得到相同的错误,这并没有什么区别。
我看了很多其他问题,都有同样的SCRIPT5007问题,但我看的都不起作用。非常感谢在这方面的任何帮助。
编辑:在此创建一个Fiddle
一个或多个.sublime-typer
元素缺少数据属性data-terminal
尝试
txt = $el.text(),
txtLen = txt.length,
//etc
它看起来像SVG+IE=没有乐趣。
您遇到的基本问题是.html()在任何情况下都会返回"undefined"。
将".html()"的实例更改为".prop('textContent')",并从".html(newval)"更改为".prop('extContent',newval))"。
如果你做出了这些改变,那么你只需要解决换行问题。也许您应该将一些字符放在''r''n想要中断的位置,textContent会保留它们(因为它通常会去掉tSpan)。
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- SCRIPT5007:无法获取属性'长度'的未定义引用或null引用
- 无法获取属性'setActionableButtonState'的未定义引用或null引用
- Javascript:将类/对象引用设置为 NULL,内存中的子对象/类会发生什么
- 为什么引用 = null 不会影响引用的对象
- 使用clearInterval方法实现的是将区间变量引用设置为null,而不是
- 无法获取属性'偏移'的未定义引用或null引用
- 0x800a138f-JavaScript运行时错误:无法获取属性'fn'的未定义引用或null引用
- 尝试使用会话存储;无法设置属性'登录'的未定义引用或null引用
- 我一直收到未捕获的引用错误:未定义下拉菜单和未捕获的类型错误:无法读取 null 的属性“样式”
- 哪种方法代表了 JavaScript 中空对象引用的最佳实践,null 或未定义
- JavaScript运行时错误无法获取属性'值'的未定义引用或null引用
- 无法获取属性'1'的未定义引用或null引用
- IE9无法获取属性'删除'的未定义引用或null引用
- IE11无法获取属性'值'的未定义引用或null引用
- 如何在没有null引用异常的情况下轻松获得Javascript中嵌套字段的值
- SignalR-无法获取属性'客户端'的未定义引用或null引用
- JavaScript null引用错误
- 无法获取属性'可见性'的未定义引用或null引用