如何在没有ID的情况下获取div的属性

时间:2013-08-28 06:42:39

标签: javascript jquery

我的网站包含很多图片,这就是为什么我不能为每个图片提供ID这将是繁琐的任务。我需要获取图像标记的source属性,但是如果没有ID我就无法做到。 我确实尝试过attr()和getAttribute(),但它似乎对我没用。

我的代码

<img src="./images/image1.jpg" width='100' height='100' alt='Sample image' onClick='imageInfo(this);'>

<script>
function imageInfo()
{
    alert(this.src);
}
</script>

我正在尝试获取图片标记的来源,但它没有来 我也试过jsfiddle,但它没有用。

JS FIDDLE LINK

15 个答案:

答案 0 :(得分:6)

尝试这样的事情。因为您已经传递了图像对象但未在函数中使用

<script>
    function imageInfo(obj)
    {
        alert(obj.src);
    }
</script>

答案 1 :(得分:5)

从你的小提琴,

function imageInfo(this)
{
    alert('image');
    alert(this.src);
}

这是因为this保留关键字

 function imageInfo (e)
{
    alert('image');
    alert(e.src);
}

同样 onclick 而不是onClick,要知道检查此SO answer的原因

检查此Fiddle

答案 2 :(得分:3)

您可以随时执行此操作:

<强> HTML

<img src="https://www.google.ca/images/srpr/logo4w.png" width='100' height='100' alt="Sample image">

<强>的JavaScript

$('img').click(function() {
    window.alert($(this).attr('src'));
});

http://jsfiddle.net/QB6Da/

答案 3 :(得分:2)

要修复代码,您需要将控件传递给javascript函数:

<img src="./images/image1.jpg" width='100' height='100' alt='Sample image' onClick='imageInfo(this);'>

<script>
function imageInfo(control)
{
    alert(control.src);
}
</script>

答案 4 :(得分:2)

在您的示例中,您必须将单击的Object作为函数的参数:

function imageInfo(img)
{
    alert(img.src);
}

答案 5 :(得分:1)

由于您将此标记为jQuery,因此应该可以使用:

http://jsfiddle.net/LgLzh/20/

$(function() {
    $('img').each(function() {
        console.log($(this).attr('src')); 
    });
});

或者,如果您想点击它时做出反应:http://jsfiddle.net/LgLzh/26/

$(function() {
    $('img').on('click', function() {
        console.log($(this).attr('src')); 
    });
});

答案 6 :(得分:1)

试试这个。这对你有帮助

  $('img').click(function() {
        alert(this.src); 
});

演示Here

答案 7 :(得分:1)

这将为您提供点击页面上每张图片的src。 但是你需要jQuery来实现它。

$('img').on('click', function (event) {
    console.log(event.target.src);
});

http://jsfiddle.net/LgLzh/42/

答案 8 :(得分:1)

试试这个

 $('img').on('click',function(){
            alert($(this).attr('src'));
        });

答案 9 :(得分:1)

在所有onclick function中使用img tags并不是一个好方法,因为如果你做一个小改动就会有噩梦。添加一个类,然后使用jquery,你可以让它工作。请参阅以下内容。

使用class属性:

<img src="http://4.bp.blogspot.com/-uyvTMZ3dFPs/UKHsc_ZbysI/AAAAAAAACvo/QdVAlVBbUxE/s320/1hello.jpg" class="image"/><br>
<img src="http://hearstcommerce.ca/customcontent/members/premium/sample.jpg" class="image" /><br>
<img src="http://www.find-a-job-online.org/images/picture.gif" class="image"/>

脚本:

$(".image").click(function(){
   var src = $(this).attr('src');
   alert("SRC = " + src);
});

小提琴:http://jsfiddle.net/yL5cf/6/

答案 10 :(得分:1)

<img src="http://4.bp.blogspot.com/-uyvTMZ3dFPs/UKHsc_ZbysI/AAAAAAAACvo/QdVAlVBbUxE/s320/1hello.jpg" width='400' height='400' alt='Sample_image' class="img">

其他答案简短而正确,但是你想使用jQuery ......

$(document).ready(function(){
    function imageInfo(img)
        {
            var src = $(img).attr("src");
            alert(src);
        };
    $(".img").click(function(){
        imageInfo(this);
    });
});

并且,“this”是保留关键字。

答案 11 :(得分:0)

http://jsfiddle.net/LgLzh/25/

由于多种原因,您应该将功能定义到窗口区域。

window.imageInfo = function (source) {
    alert('image');
    alert(source);
}

答案 12 :(得分:0)

试试这个

<img src="http://4.bp.blogspot.com/-uyvTMZ3dFPs/UKHsc_ZbysI/AAAAAAAACvo/QdVAlVBbUxE/s320/1hello.jpg" width='400' height='400' alt='Sample_image'>

$(document).ready(function(){
    $('img').click(function(e){        
        alert($(this).attr('src'));
    });
});

不要忘记包含jquery来运行它。 这是小提琴http://jsfiddle.net/LgLzh/44/

答案 13 :(得分:0)

这是你可以做的......

$('img').bind('click',function(){ console.log($(this).attr('src')); });

答案 14 :(得分:-1)

检查以下Js小提琴

http://jsfiddle.net/LgLzh/22/

$('img').filter(function(){
        alert($(this).attr('src'));
    });

这就是你想要的......如果你不能更具体吗?