如何检测jQuery中的当前元素?

时间:2017-08-08 10:03:55

标签: javascript jquery

我想通过jquery将属性data-pic添加到多个img标签:

$('#description img').attr('data-pic', $(this).attr('src') )

但是,$(this).attr('src')无效。我需要的是我正在使用的当前元素(img)的src。

3 个答案:

答案 0 :(得分:4)

  

我通过jquery将属性data-pic添加到图像(超过1):

您需要在每张图片上使用循环。

$('#description img').each(function(){
   $(this).attr('data-pic', $(this).attr('src') )
})

答案 1 :(得分:3)

您需要使用回调函数来使用上下文this关键字。

$('#description img').attr('data-pic', function () {
  return $(this).attr('src');
} );

答案 2 :(得分:0)

要实现此目的,您可以使用each()的直接循环。这将在处理函数中为您提供this引用:

$('#description img').each(function() {
  $(this).attr('data-pic', $(this).attr('src'));
});

或者,您可以为attr()提供一个函数,该函数适用于每个元素实例:

$('#description img').attr('data-pic', function() {
  return $(this).attr('src');
});