为什么IE会抱怨这个javacript电话?
$.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百分比行,则错误消失。
任何想法为什么?
答案 0 :(得分:2)
原因是变量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代码的方式。