Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用jquery重写这个内联javascript?_Javascript_Jquery - Fatal编程技术网

如何用jquery重写这个内联javascript?

如何用jquery重写这个内联javascript?,javascript,jquery,Javascript,Jquery,我有以下带有内联javascript的标记,并希望将其更改为Jquery。任何帮助都将不胜感激 <a title="823557" href="/PhotoGallery.asp?ProductCode=471823557" id="product_photo_zoom_url"> <img border="0" onload="vZoom.add(this, '/v/vspfiles/photos/471823557-2.jpg');" alt="823557" src="/

我有以下带有内联javascript的标记,并希望将其更改为Jquery。任何帮助都将不胜感激

<a title="823557" href="/PhotoGallery.asp?ProductCode=471823557" id="product_photo_zoom_url">
<img border="0" onload="vZoom.add(this, '/v/vspfiles/photos/471823557-2.jpg');"
alt="823557"
src="/v/vspfiles/photos/471823557-2T.jpg" id="product_photo"></a>

我想我需要用这个

$(function(){
<---- somecode---->
});
$(函数(){
});
如果由于某种原因,
$
不起作用,这也应该起作用。我采纳了Kranu的建议,因为该库很可能只需要加载DOM作为先决条件,而不是
load
事件:

jQuery(function ($) {
    $("#product_photo").each(function () { // in case there is more than one 
        vZoom.add(this, this.src.replace('T.', '.'));
    });
});

请注意,不需要在img上放置单独的绑定事件,因为
$(function(){})
将等待主体加载

$(function(){
    vZoom.add(document.getElementById('product_photo'),'/v/vspfiles/photos/471823557-2.jpg');
});

不完全确定您要做什么,但实际上您将从HTML中删除图像,并使用JS动态加载它。加载后,将其注入DOM并设置onload事件

var jsImg = new Image();
jsImg.onload = function(){
  vZoom.add(this,'/v/vspfiles/photos/471823557-2.jpg');
  var img = document.createElement('IMG');
  img.setAttribute('id','product_photo');
  img.setAttribute('alt','823557');
  img.setAttribute('src','/v/vspfiles/photos/471823557-2T.jpg');
  img.style.border = 'none';
  //inject image now in the DOM whereever you want.
};
jsImg.src = '/v/vspfiles/photos/471823557-2T.jpg';

除非是打字错误,否则img src与.add函数的第二个参数不同。因此,需要将
T.jpg
替换为
this.src
@davidsleeps中的
T.jpg
:这是相同的
src
,只是在末尾添加了一个T(我假设它是一个缩略图。注意它是一个修改后的
值。src
@MattSmith:它已经这样做了。这正是我想要的,将进行测试,但它看起来会工作!!!@user357034:它告诉你什么不是函数吗?
$
不是函数吗?这是我想要的,除了sta之外tic链接到图片我需要做一个字符串替换,比如从src中的@Daniel到下面的xxxxxxx-2.jpgWell我很高兴你至少承认了我的答案。我承认stru-replace对移植性有好处。
var jsImg = new Image();
jsImg.onload = function(){
  vZoom.add(this,'/v/vspfiles/photos/471823557-2.jpg');
  var img = document.createElement('IMG');
  img.setAttribute('id','product_photo');
  img.setAttribute('alt','823557');
  img.setAttribute('src','/v/vspfiles/photos/471823557-2T.jpg');
  img.style.border = 'none';
  //inject image now in the DOM whereever you want.
};
jsImg.src = '/v/vspfiles/photos/471823557-2T.jpg';