我正在尝试使用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>
我错过了什么,因此问题仍然存在?
答案 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事件中。