【发布时间】:2015-02-18 23:38:42
【问题描述】:
我正在使用 IE8,并且收到“找不到对象”的错误信息:
var l_classList = $(this).attr('class').trim().split(/\s+/);
实际代码块如下:
$( "div.panel" ).each(function(index) {
var l_classList = $(this).attr('class').trim().split(/\s+/);
if ( l_classList.length == 1 ) $(this).addClass("panel-default");
});
关于如何在 IE8 中解决此问题的任何想法?
【问题讨论】:
-
你试过
$(this).prop("className")吗? (或者只是this.className?) -
尝试了你的建议,不幸的是没有运气。
-
哪行代码给了你这个错误? (另外,它真的是“找不到对象”吗?这是一个奇怪的错误。)它们可能在 IE8 中的 String 原型上没有
.trim()函数。 -
你想在这里实现什么?看起来您正在将类
panel-default添加到每个只有一个类集的 div 元素中,并且由于您已经将.panel用作选择器,因此该类在任何情况下都只能是panel吗?仅仅检查类 ispanel(在修剪值之后,如果你的环境需要的话)似乎比你跳过的箍更直接...... -
试试:
$.trim($(this).attr('class')).split(/\s+/);(source)
标签: javascript jquery internet-explorer-8