未捕获的类型错误: 无法设置未定义的属性“背景颜色”
Uncaught TypeError: Cannot set property 'backgroundColor' of undefined
function put_to_cart_event(prodtitle, price, clicked_cell){
var td = clicked_cell;
alert(td);
put_to_cart_({title: prodtitle, price: price}, function () {
td.style.backgroundColor = '#859de6'; // <--- problem
});
}
警报正在提供[object Object]
,这意味着clicked_cell
可用且可访问,对吧?
我在这里错过了什么?
该函数的调用方式如下:
$('.abindenwarenkorb').on('click', function(){
var productname = $('#productname').text();
var price = $('#price').text();
var in_stock = $('#in_stock').text();
var clicked_cell = $('#clicked_cell').val(); //value is set like $('#clicked_cell').val($(this));
put_to_cart_event(productname, price, clicked_cell); // <-- call
});
可能是
因为clicked_cell
没有样式属性。你能在控制台.log中输出clicked_cell变量吗?
你需要传递元素而不是值更改以下行
var clicked_cell = $('#clicked_cell');
请参阅下面的代码:
$('.abindenwarenkorb').on('click', function(){
var productname = $('#productname').text();
var price = $('#price').text();
var in_stock = $('#in_stock').text();
var clicked_cell = $('#clicked_cell');
put_to_cart_event(productname, price, clicked_cell); // <-- call
});
编辑:在进一步阅读您的代码时,我注意到了这条评论。
//value is set like $('#clicked_cell').val($(this));
此代码无效$('#clicked_cell').val($(this))
不能将对象设置为值。 只允许使用可序列化的值。其他明智的做法是,它将被转换为字符串,在您的情况下它[object Object]
相关文章:
- 主干中的模型属性未定义
- JavaScript 2d 数组导致“无法读取未定义的属性'未定义'”
- JSON对象属性未定义
- Waypoint的循环,退出循环后属性未定义
- Javascript:错误“无法设置属性”..'未定义”
- 翡翠 - 显示对象属性 - 未定义
- 属性未定义,但控制台.log可以看到它
- JavaScript 对象的属性未定义
- Javascript 对象属性未定义(但属性已设置)
- DOM 元素属性未定义 - jquery / ruby on rails.
- Nodejs JSON 属性未定义
- 错误:窗口打开器的属性未定义
- angular Js:Array.lenght属性未定义
- 正在尝试访问JavaScript对象的属性=未定义
- Marionette属性未定义,请从API获取
- AngularJS作用域属性未定义
- 对象的属性未定义,尽管已指定值
- 为什么我一直收到一个错误,说对象属性未定义
- 对象属性未定义,但我看到它不是
- .map()img src属性未定义