将img src存储在javascript变量中

时间:2012-07-01 23:49:24

标签: javascript onclick

当我点击图片时,我想将特定图片src存储在Javascript变量中。我怎样才能做到这一点?请注意,<a>标记用于悬停效果。所以当我点击<a>我想要它的兄弟的图像来源时。

演示:http://jsfiddle.net/FVrTg/2

<div>
    <img src = "http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/YellowLabradorLooking_new.jpg/260px-YellowLabradorLooking_new.jpg"/>
    <a href = "#"></a>
</div>

<div>
    <img src = "http://whatiscat.com/wp-content/uploads/2011/07/cute_cat_2.whatiscat.com_.jpg"/>
    <a href = "#"></a>
</div>

4 个答案:

答案 0 :(得分:2)

$("a").on("click", function() {
    alert ( $(this).siblings("img").attr("src") );
});

demo

...

<强>更新

仅限JS - http://jsfiddle.net/FVrTg/7/

var links = document.getElementsByTagName("a");
var size  = links.length;

for ( var i = 0; i < size; i++ ) {
    links[i].addEventListener("click", function() {
        alert( this.previousSibling.previousSibling.getAttribute("src") );
    }, false);
}

答案 1 :(得分:0)

$('a').click(function(e){
   e.preventDefault();
   var src = $(this).siblings('img').prop('src');
})

http://jsfiddle.net/FVrTg/5/

答案 2 :(得分:0)

click document上使用委托事件以提高效率,并获取parentNode <a>。然后抓住<img>并获取src。使用parentNode,您可以安全地添加到您的设计中而无需更改代码。

演示:http://jsfiddle.net/ThinkingStiff/NWD7f/

document.addEventListener( 'click', function( event ) {

    var a = event.target;

    if( a.tagName.toLowerCase() == 'a' ) {

        var src = a.parentNode.getElementsByTagName( 'img' )[0].src;
        console.log( src );

    };

}, false );​

答案 3 :(得分:0)

以下是一种使用img.src打印rel="img-id"以将aimg相关联的方法:

<强> HTML

<div>
    <img id="img-1" src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/YellowLabradorLooking_new.jpg/260px-YellowLabradorLooking_new.jpg"/>
    <a href="#" class="img-hover" rel="img-1"></a>
</div>

<强>的Javascript

window.onload = function(){
    var links = document.getElementsByTagName('a'),
        c_links = links.length,
        link;

    while (c_links--){
        link = links[c_links];

        if (link.className.indexOf('img-hover') > -1) {
            link.onclick = function(){
                var img = document.getElementById(this.rel);

                if (img) {
                    console.log(img.src);
                }
            };
        }
    }
};

http://jsfiddle.net/userdude/ecXCX/