Jquery属性等于selector仅选择第一个元素

时间:2014-04-22 15:53:30

标签: php jquery

我的等号选择器只选择列表中的第一项。 我点击哪个图像并不重要,它总是将我的jQuery变量设置为第一个项目。 谢谢!

//PHP

<div class="imgContain">
<img id="finalimg" alt="first" src="website.com/imga546.jpg">
<img id="finalimg" alt="second" src="website.com/imga645.jpg">
<img id="finalimg" alt="thrid" src="website.com/imga6786.jpg">
<img id="finalimg" alt="4th" src="website.com/imga31234.jpg">
</div>


//jQuery   
$('.imgContain').on("click", "img", function () {
         var srcc = $('img[id="finalimg"]').attr('src');
         var linkU = $('img[id="finalimg"]').attr('alt'); 

       });

3 个答案:

答案 0 :(得分:1)

由于id必须是唯一的,因此您需要使用class:

<div class="imgContain">
    <img class="finalimg" alt="first" src="website.com/imga546.jpg">
    <img class="finalimg" alt="second" src="website.com/imga645.jpg">
    <img class="finalimg" alt="thrid" src="website.com/imga6786.jpg">
    <img class="finalimg" alt="4th" src="website.com/imga31234.jpg">
</div>

然后您可以使用.按类定位元素,也可以使用$(this)来引用当前点击的图片finalimg

$('.imgContain').on("click", ".finalimg", function () {
    var srcc = $(this).attr('src');
    var linkU = $(this).attr('alt'); 
});

<强> Fiddle Demo

答案 1 :(得分:0)

您在点击时获得图像的唯一ID,并按如下方式进行操作 工作小提琴演示http://fiddle.jshell.net/8kmdt/

<div class="imgContain">
<img id="img1" alt="first" src="website.com/imga546.jpg">
<img id="img2" alt="second" src="website.com/imga645.jpg">
<img id="img3" alt="thrid" src="website.com/imga6786.jpg">
<img id="img4" alt="4th" src="website.com/imga31234.jpg">
</div>
then change your jQuery code to:

$('.imgContain').on("click", "img", function () {
var getID=$(this).attr("id");
  var source = $("#"+getID).attr('src');
  var linkOfImg = $("#"+getID).attr('alt'); 
});

答案 2 :(得分:-1)

元素ID必须是唯一的。你应该使用类。