使用jQuery更改imgsrc

使用jQuery更改imgsrc,jquery,html,Jquery,Html,**免责声明:我正在为一个web应用程序编写一个主题文件,它不允许我操作应用程序的核心文件,因此我无法更改文件在DOM中的加载顺序 我有一个JS文件,允许我向页面添加自定义脚本。我正在用jQuery编写代码 我想更改页面上某个元素的图像源。图像的源是由一个核心JS文件动态加载到页面的,我不能触摸它,它是在我的文件之后加载的 假设HTML是: <div class ="parent"> <img src="http://example.com/image.jpg">

**免责声明:我正在为一个web应用程序编写一个主题文件,它不允许我操作应用程序的核心文件,因此我无法更改文件在DOM中的加载顺序

我有一个JS文件,允许我向页面添加自定义脚本。我正在用jQuery编写代码

我想更改页面上某个元素的图像源。图像的源是由一个核心JS文件动态加载到页面的,我不能触摸它,它是在我的文件之后加载的

假设HTML是:

<div class ="parent">
    <img src="http://example.com/image.jpg">
</div>
当我运行这个函数时,它返回
undefined
,因为图像是在jQuery之后加载的。我需要在整个代码中多次执行此操作以更正图像。有时,我可以通过如下方式运行函数来解决此问题:

 setTimeout(fixImgSrc(), 500);
它在加载所有其他内容后运行函数。其他时候,我能在整个网站上实现这一点的唯一方法是做以下工作:

 setInterval(fixImgSrc(), 500);
继续检查是否已获取新源

有没有更好的不那么俗气的方法?这似乎是一种黑客行为,而不是“正确”的方式。另外,浏览器上的负载非常大,反复运行相同的命令

$(document).ready(function(){
FixImgSrc();
}
在这里,它将让函数在文档的就绪状态之后工作

试试这个

    var image = $('.parent').find('img');
image.on("load",function(){
    if (image.attr('src') !== newSrc){
        image.attr('src', newSrc);
}
在这里,它将让函数在文档的就绪状态之后工作

试试这个

    var image = $('.parent').find('img');
image.on("load",function(){
    if (image.attr('src') !== newSrc){
        image.attr('src', newSrc);
}
我认为首先需要检查jquery是否正常工作


我认为首先需要检查jquery是否工作。

我应该提到,作为jquery,所有内容都已包装在$(document).ready()语句中。我应该提到,作为jquery,所有内容都已包装在$(document).ready()语句中语句。所有内容都已工作,并且已包装在文档中。就绪包装所有内容都已工作,并且已包装在文档中。就绪包装
  $(document).ready(function(){
   alert("ready ");
   FixImgSrc();
  }