开发者社区> 问答> 正文

问个ie8浏览器的问题?报错

在ie8浏览器下,jquery报错无法获取属性“nodeName”的值,对象为null或未定义。

jquery - 1.8.2.js, 行1718 字符 3

这行代码是:var noData = elem.nodeName && jQuery.Data[ elem.nodeName.toLowerCase()];

导出excel报表时报的错,怎么解决。浏览器由于某些原因是不能升级的。

展开
收起
爱吃鱼的程序员 2020-06-08 09:49:34 544 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    nodeName是Level1的API,IE6都支持,所以出现的情况可能是你的elem为空指针,所以可能前面的选择器没有选择到elem。可以把这行代码改为如下试试,但可能由于选择器不对导致某些功能不正常

    varnoData=elem&&elem.nodeName&&jQuery.Data[elem.nodeName.toLowerCase()];

    回复 @wuzhidexiaolang:if判断写为如下比较好if(!page_el.value||!el.rule(page_el.value))回复 @wuzhidexiaolang:有些浏览器可能装了一些补丁包,相同的IE版本会有微小的差异,可以看看IE相关的补丁是否一致和小版本号是否一致。还有另外一个错误,value为空或不是对象。这行代码是:if(page_el.value==""||(!el.rule(page_el.value))){$(this.errdivid).html(el.err);returnfalse;}有些ie8浏览器是能正常导出excel的,有些浏览器异常,这是为什么啊?

    引用来自“boystudio”的评论

    nodeName是Level1的API,IE6都支持,所以出现的情况可能是你的elem为空指针,所以可能前面的选择器没有选择到elem。可以把这行代码改为如下试试,但可能由于选择器不对导致某些功能不正常

    varnoData=elem&&elem.nodeName&&jQuery.Data[elem.nodeName.toLowerCase()];

    2020-06-08 09:49:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
WEB浏览器中即将发生的安全变化 立即下载
基于浏览器的实时构建探索之路 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载