无法获取属性'1'的未定义引用或null引用
Unable to get property '1' of undefined or null reference
我的网站上有一个日历,它会打开一个显示RGB颜色选择器的弹出框。它在IE8之外的所有浏览器中都能正常工作。我的代码在下面。
function rgb2hex(rgb) {
rgb = rgb.match(/^rgb'(('d+),'s*('d+),'s*('d+)')$/);
function hex(x) {
return ("0" + parseInt(x).toString(16)).slice(-2);
}
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
这是错误
SCRIPT5007:无法获取未定义或null引用的属性"1"
哪个指向这条线
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
我不熟悉这个代码,因为它是由我工作场所的其他人完成的,他已经度假了几周。如果有人能帮我指明正确的方向,我将不胜感激。
编辑
这就是函数的调用位置。当我在IE8中控制台.log(bgColor)时,它显示为#rgb(238238238),所以我不明白为什么它不起作用。也许是我愚蠢,但我一辈子都看不见。
$('.period_day').click(function(e) {
var bgColor = $(this).css('background-color');
if (rgb2hex(bgColor) == "#eeeeee") {
$('.colour_picker').css('background-color', '#ff0000');
$('#cal_colour_val').val('#ff0000');
} else {
$('.colour_picker').css('background-color', bgColor);
$('#cal_colour_val').val(bgColor);
}
});
此错误表示调用rgb2hex
函数时使用的参数与正则表达式不匹配。匹配失败将导致变量rgb
为null,并且该代码不会检查这种可能性。
因此,真正的问题可能是调用函数的代码。
相关文章:
- 无法获取属性'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引用