为什么IE抱怨这一行js

Why does IE complain about this js line?

本文关键字:一行 js IE 为什么      更新时间:2023-09-26

为什么IE抱怨这个javascript调用?

$.get("profile_completeness.php?id=<?php echo($user_id); ?>", function(data) {
    var percentage = data.match(/id="percentage_complete" value="('d+)"/)[1];
    alert(percentage);
})

这在Chrome和FF中工作良好,但IE抛出异常。

下面是我得到的错误:

Unable to get value of the property '1': object is null or undefined.

如果我删除var百分比行,错误就会消失。

知道为什么吗?

原因是变量data不包含您认为它包含的内容。

在IE中运行良好:

var data = 'id="percentage_complete" value="42"';
var percentage = data.match(/id="percentage_complete" value="('d+)"/)[1];
alert(percentage);

如果您使用innerHTML创建了字符串,则根据浏览器的不同,它会有所不同。您不会获得创建元素的原始HTML代码,而是浏览器从DOM元素重新创建HTML代码,并且每个浏览器都有不同的格式化HTML代码的方法。