正如标题所说,我试图在提交表单后操纵一个被带入网页的元素。这是ajax的回应。
我知道有一种不同的方式来处理由ajax带来的元素。
$('#cartx').html($('#cartcopy').html());
我可能很清楚我正在尝试做什么:通过ajax更新购物车内容。 我一直收到这个错误:
Uncaught TypeError: Cannot read property 'html' of null
我该怎么办?
稍后编辑:
这是代码:
function hideJ2tOverlay(){
$('j2t-overlay').hide();
$('j2t_ajax_progress').hide();
$('j2t_ajax_confirm').hide();
$('#cartx').html('test');
}
网站是skin79.ro
答案 0 :(得分:0)
您的问题是您有另一个插件(或代码)将jQuery通常使用的全局$
设置为非jQuery的函数(或对象)。
您需要在警报中使用jQuery
而不是$
。
e.g。
alert(jQuery('#cartcopy').html());
更好的替代方法是使用DOM就绪处理程序的快捷版本本地范围$
:
jQuery(function ($) {YOUR CODE HERE USING A LOCAL $});
e.g。
jQuery(function ($) {
setInterval(function () {
alert($('#cartcopy').html());
}, 1000);
$('#brands-list').jcarousel({
scroll: 2,
auto: 3,
wrap: 'circular',
start: 1
});
$('#features-list').jcarousel({
scroll: 2,
auto: 3,
wrap: 'circular',
start: 1
});
$('#cartx').hover(function () {
$(this).children('.cart-top-container').slideDown();
}, function () {
$(this).children('.cart-top-container').slideUp();
});
});
然后,您可以在处理程序中引用较短的$
,而不必担心其他全局$
。