使用jquery无法正常工作更新图像源

时间:2018-05-22 07:46:57

标签: javascript jquery image src

我正在尝试使用jquery更新我的图像源。要做到这一点,我打电话给.load

将返回一个字符串的函数,该字符串又将用于替换图像源。

srcResult值为new/icon.png

<script>
 var iconLinkURL = "Users/NewIcon";
 var srcResult = $("#iconImage").children('img').load(iconLinkURL); 


  $("#iconImage").children('img').attr('src', srcResult);
</script>

HTML Side

<a id="iconImage"><img src="old/address.png"></img></a>

当加载javascript时,会加载图像:

 <a id="iconImage"><img src="[object Object]">new/icon.png</img></a>

我错过了什么,因此问题仍然存在?

1 个答案:

答案 0 :(得分:2)

$("#iconImage").children('img').prop('src', 'Users/NewIcon'); 返回一个对象。如果您对预加载不感兴趣,只需按以下步骤更换代码:

var src = 'Users/NewIcon',
    img = new Image();

img.src = src;
img.onload = function() {
    $('#iconImage').children('img').prop('src', this.src);
};

但是,如果您要预加载图像,请使用以下命令:

module Company
  class Contact
    include Mongoid::Document
    include ActiveModel::Validations

    embedded_in :company, class_name: "::Company::Contact"

  end
end

module Company
  class Company

    require 'autoinc'

    embeds_many :contacts, class_name: "::Company::Contact"

  end
end


FactoryGirl.define do
  factory :company, :class => 'Company::Company' do
    name { Faker::Company.name }

    after(:create) do |company|
      # company.contacts << create(:company_contact)
      create_list(:company_contact, 1, company: company)
    end
    # contacts { [ build(:company_contact) ] }
  end
end

值得注意的是,如果你还没有这样做,你还需要将你的代码包装在DOMReady事件中。