2014-09-03 93 views
0

getAttribute如何適用於多個圖像? 任何一個heip可以嗎?getAttribute for multiple images

<script> 
    $(document).ready(function(){ 
    $(".img").click(function(){ 
     var img = $(this).getAttribute('src'); 
     alert(img.getAttribute('src')); // foo.jpg 
     alert(img.src);     // http://..../foo.jpg 
    }); 
    }); 
</script> 

</head> 
    <body> 
    <img class="img" src="foo.jpg" > 
    <img class="img" src="foo1.jpg" > 
    <img class="img" src="foo2.jpg" > 
    </body> 
</html> 
+2

你在做什麼? – 2014-09-03 12:38:19

+0

使用jQuery的'.attr()'來獲取元素的屬性,或者在使用本地方法之前突破jQuery。 – ndugger 2014-09-03 12:57:45

回答

-1

你需要將jquery對象轉換爲普通的javascript對象來使用它的本地方法和屬性。您已在this上下文中擁有該對象。因此,使用:

$(".img").click(function(){ 
    this.getAttribute('src'); // when using with jquery $(this)[0].getAttribute('src') 
}); 
+2

'$(this)[0] .getAttribute('src')'是啊,啊,與智能相反。如果你真的想要一個'$',可以使用'this.src'或$(this).attr('src')'。 – 2014-09-03 12:39:19

+0

@dystroy:我只在編輯。從js對象中創建jquery對象,然後再次回覆是毫無價值的:) – 2014-09-03 12:40:21

+0

'$(this).attr(「src」)'是你應該使用的。在原生DOM和jQuery之間進行翻轉可能性並不壞,但你最終會混淆新手。 – ndugger 2014-09-03 12:50:01

0

我認爲這是你想要的! 只是把他們都弄到:

$(".img").each(function(){ 
    alert(this.getAttribute("src")); 
}); 

或者在你的代碼示例:

$(".img").click(function(){ 
    var img = this.getAttribute('src'); 
}); 

最後,你可以使用.attr();

$(".img").each(function(){ 
     alert($(this).attr("src")); 
    });