Javascript 用img src链接替换页面的每一次点击?
我使用一个网页,我想用Javascript 用img src链接替换页面的每一次点击?,javascript,jquery,greasemonkey,Javascript,Jquery,Greasemonkey,我使用一个网页,我想用每个链接包含的修改后的src链接替换一堆链接的onclicks 例如,Greasemonkey脚本应更改以下内容: 但是正确的图片没有链接。我想你可以试试这样的东西 var link = $("p.listphotos a img").prop("src").replace("min", "max"); $("p.listphotos a").prop("onclick", link); $("p.listphotos a").prop("href", link); 然
每个链接包含的修改后的src
链接替换一堆链接的onclick
s
例如,Greasemonkey脚本应更改以下内容:
但是正确的图片没有链接。我想你可以试试这样的东西
var link = $("p.listphotos a img").prop("src").replace("min", "max");
$("p.listphotos a").prop("onclick", link);
$("p.listphotos a").prop("href", link);
然后
function showImage(){
if (changeIndex(numberClick)){
numberClick+=1;
}
else{
numberClick=0;
}
}
将
onclick
设置为链接是错误的onclick
必须是有效的javascript。但是,由于看起来您正试图“断开”这些照片的链接,因此最好将onclick
s一起删除
另外,您不能这样设置href
(除非您希望每个链接都指向同一张照片)。你需要循环。jQuery的.each()
应该可以做到这一点。像这样:
$("p.listphotos a img").click(function(){
showImage();
return false;
});
请注意。但是,如果在某些浏览器中检查页面源代码,该属性仍将存在。别担心,
onclick
将不再起作用。我认为使用类将是最好的解决方案,给它们一个按钮类或类似的东西,在jQuery中,所有的工作都来自于特定的类。
var numberClick=0;
var Images= ['image1.png','image2.png'];
function changeIndex(index){
if (index >=0 && index < Images.length){
$("p.listphotos a img").attr("src", Images[index]);
return true;
}
return false;
}
function showImage(){
if (changeIndex(numberClick)){
numberClick+=1;
}
else{
numberClick=0;
}
}
$("p.listphotos a img").click(function(){
showImage();
return false;
});
$("p.listphotos a img").each ( function () {
//-- `this` is each target image, one at a time
var jThis = $(this);
//-- More robust replace
var bigLink = jThis.prop ("src").replace (/\bmin\b/i, "max");
//-- The img parent is the link we're after.
jThis.parent ().prop ("href", bigLink).removeProp ("onclick");
} );