当我点击图片时,我想将特定图片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>
答案 0 :(得分: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);
}
答案 1 :(得分:0)
$('a').click(function(e){
e.preventDefault();
var src = $(this).siblings('img').prop('src');
})
答案 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"
以将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);
}
};
}
}
};