可以'ajax调用后,我找不到模板中的元素
Can't find element in my template after ajax call
我正试图在Ajax调用成功的模板中找到一个图像。。。但我不能!
这是我的代码:
class AvatarView extends Backbone.View
template: JST["backbone/templates/twitter_avatar"]
initialize:(options) ->
@user = options.user
render: =>
@$el.html(@template({
view_id: @cid
avatar_url: @user.avatar() || "src/image_not_found.png"
}))
@$el.find(".avatar").on('error', @_reloadAvatar)
_reloadAvatar: =>
$.ajax
type: 'GET'
url: "/profiles/api/twitter/#{@user.social_network_id()}/avatar_url"
success: (response) =>
if response.success
avatar_url = response.avatar_url
else
avatar_url = 'https://abs.twimg.com/sticky/default_profile_images/default_profile_0_normal.png'
@$el.find(".avatar").attr('src', avatar_url) # Here is the problem
当我调试这个:
- "this"是AvatarView的一个实例,并且
- @$el是一个空div,找不到avatar类
这是模板:
<img src="<%= avatar_url %>" alt="avatar" class="avatar" id="avatar-image-<%= view_id %>">
我感觉自己好像失去了DOM对象之类的东西。。
我仍然不明白为什么它不起作用,但我使用事件参数解决了我的问题
_reloadAvatar:(event) =>
$.ajax
type: 'GET'
url: "/profiles/api/twitter/#{@user.social_network_id()}/avatar_url"
success: (response) =>
if response.success
avatar_url = response.avatar_url
else
avatar_url = 'https://abs.twimg.com/sticky/default_profile_images/default_profile_0_normal.png'
@(event.target).attr('src', avatar_url)
相关文章:
- [Vue warn]:找不到元素
- 在页面中找不到元素的正确位置.函数未考虑填充
- JQuery找不到元素
- 在Selenium Web驱动程序2.0中找不到元素
- 没有这样的元素:找不到元素:正在验证web元素是否丢失
- jQuery没有'找不到元素或其属性
- 量角器 3.1.1 + 角度 2:找不到元素的可测试性
- jQuery .each() 在 wooCommerce header cart list 中找不到元素
- jQuery 找不到元素
- getElementsByClassName() 在 Firefox 25 中找不到元素
- 在网页上找不到元素,因为它加载了基于javascript的错误并在几秒钟后隐藏(注册表单)
- 如果jQuery不抱怨/抛出错误'在选择器中找不到元素
- jQuery在ngView加载的元素[AngularJS]上找不到元素
- Rails/Javascript选择器赢得'找不到元素
- 可以'在window.deocument.forms[0]中找不到元素
- CasperJS找不到元素,即使我可以在开发人员工具中按CTRL-F它
- PHP或Javascript:找不到元素错误
- onRenderd在Meteor中找不到元素
- 为什么它找不到元素的内部 HTML
- ' getElementById '在' '标签中找不到元素