如何用jquery重写这个内联javascript?
我有以下带有内联javascript的标记,并希望将其更改为Jquery。任何帮助都将不胜感激如何用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="/
<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';