将所有包含图像的链接更改为:javascript(alert(thehref));

将所有包含图像的链接更改为:javascript(alert(thehref));,javascript,bookmarklet,Javascript,Bookmarklet,将所有包含图像的链接更改为:javascript(alert(thehref)) 例如 变成 <a href="/galleries/anna-leah-111827/image01.html" onclick="alert(this.href)"><img src="/source_galleries/anna-leah-111827/tn/01.jpg"></a> <a href="/galleries/23435/image01.html"&g

将所有包含图像的链接更改为:javascript(alert(thehref))

例如


变成

<a href="/galleries/anna-leah-111827/image01.html" onclick="alert(this.href)"><img src="/source_galleries/anna-leah-111827/tn/01.jpg"></a>
<a href="/galleries/23435/image01.html">ssss</a>

作为一个使用外部JavaScript文件的bookmarklet,我如何做到这一点

我试了一整天都没用

for (var i= document.links.length; i-->0;) {
    if (document.links[i].getElementsByTagName('img').length!=0) {
        document.links[i].onclick= function() {
            alert(this.href);
        };
    }
}
编码到bookmarklet中:

javascript:for%28i%3Ddocument.links.length%3Bi--%3E0%3B%29if%28document.links%5Bi%5D.getElementsByTagName%28%27img%27%29.length%21%3D0%29document.links%5Bi%5D.onclick%3Dfunction%28%29%7Balert%28this.href%29%3B%7D%3Bvoid%280%29%3B
编码到bookmarklet中:

javascript:for%28i%3Ddocument.links.length%3Bi--%3E0%3B%29if%28document.links%5Bi%5D.getElementsByTagName%28%27img%27%29.length%21%3D0%29document.links%5Bi%5D.onclick%3Dfunction%28%29%7Balert%28this.href%29%3B%7D%3Bvoid%280%29%3B

我将在外部文件中包含jQuery,使用noconflict模式,并执行如下操作:

$('a:has(img)').bind('click', function(event){
    event.preventDefault();
    alert($(this).children('img').get(0).attr('src'));
}

我将在外部文件中包含jQuery,使用noconflict模式,并执行如下操作:

$('a:has(img)').bind('click', function(event){
    event.preventDefault();
    alert($(this).children('img').get(0).attr('src'));
}

如果不想跟随该链接,请向事件处理程序添加
returnfalse
;出于性能原因,您可能还希望将函数文本移出循环(无需为每个链接创建新的函数对象:事件处理程序可以轻松共享)。如果您不想跟随该链接,请向事件处理程序添加
return false
;出于性能原因,您可能还希望将函数文本移出循环(无需为每个链接创建新的函数对象:事件处理程序可以轻松共享)