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

时间:2009-09-12 22:56:22

标签: javascript bookmarklet

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

例如

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

变为

<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文件的书签。

我一整天都在尝试无济于事。

2 个答案:

答案 0 :(得分:4)

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

编码成书签:

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

答案 1 :(得分:1)

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

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