2

画像をクリックすると、その特定の画像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>

</ p>

4

4 に答える 4

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

デモ

..。

アップデート

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);
}
于 2012-07-01T23:53:27.673 に答える
0
$('a').click(function(e){
   e.preventDefault();
   var src = $(this).siblings('img').prop('src');
})

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

于 2012-07-01T23:52:14.567 に答える
0

効率のためclickにonのデリゲートイベントを使用し、 forを取得します。次に、を取得して取得します。これにより、コードを変更せずにデザインに安全に追加できます。documentparentNode<a><img>srcparentNode

デモ: 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 );​
于 2012-07-02T00:10:26.863 に答える
0

img.srcこれは、を使用rel="img-id"して出力aするアプローチですimg

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/

于 2012-07-02T00:15:30.043 に答える