ajax调用后$('')选择器不工作
$('') selector not working after ajax call
为什么函数中的img : $('img')
等变量在ajax调用后会丢失其值。下面是一个函数示例。
imageFades: {
img : $('img'),
init: function() {
this.img.fadeIn(200)
console.log('fire')
}
}
ajax调用后,console.log会激发,但fadeIn不会。我已经测试过将$('img').fadeIn(200)
直接添加到init函数中,这很好。到底发生了什么?
如果您在ajax调用中替换了图像(听起来像这样),或者在创建imageFades
对象后的任何时候,那么您必须重新运行选择器,以便它可以看到新添加的图像。
imageFades: {
init: function() {
$('img').fadeIn(200);
console.log('fire')
}
}
jQuery对象不是"活动"的。它们跟不上DOM中的更改。它们表示创建jQuery对象时DOM中的内容以及它运行选择器查询的时间点的快照。
如果没有看到整个代码,很难说是肯定的,但很可能您混淆了this
的使用。在jQueryAJAX响应函数中,this
没有设置为创建的对象。引用jQuery API:
所有回调中的
this
引用是设置中传递给$.ajax
的上下文选项中的对象;
相关文章:
- 为什么不'在JQuery中找到第二个css选择器的工作
- jQuery选择器无法正常工作
- JavaScriptDOM正常工作时JQuery选择器不工作
- JS-颜色选择器只有第一个工作
- 取消光谱颜色选择器不工作
- 复杂选择器在jQuery 1.8中中断,但在1.7.2中工作
- jQuery选择器在脚本中不起作用,但在控制台中工作
- 当页面回发ASP.NET时,时间选择器javascript将停止工作
- 添加Jquery验证后,Jquery日期选择器无法工作
- ajax调用后$('')选择器不工作
- jQuery类选择器工作不稳定
- jquery:非选择器工作不正常
- 为什么这个jQuery选择器工作?它基于什么
- 为什么Flexslider中的一个选择器工作,而第二个选择器不工作;t
- AngularJS UI启动日期选择器工作不正常
- 不能使jQuery动态选择器工作
- Jquery不与变量选择器工作
- 无法使引导日期选择器工作
- 让 jquery 时间选择器工作
- Javascript onchange验证使:valid和:invalid CSS选择器工作