2

我试图用 jquery 获取图像 src 这是下面的代码

jQuery("img").click(function() {
    var im = $(this).attr('src'); 
    alert(im);
    return false;
});

以上工作正常我可以得到图像src。同样,我仅在其中包含图像标签时才尝试获取锚标签的 href 值,否则不应该。以下是其中包含图像标签的示例。

<a href="some.something"><img src="image1.jpg"></a>

怎么做?什么选择器更好?有什么想法吗?

4

2 回答 2

4
$('img').parent('a') // Will select anchors who are `img` elements parents. 

$('img').parent('a').each(function(_,el){console.log(el.href)}); // will take the href attr.

与点击功能一起使用:

$('img').click(function(e){
e.preventDefault();//I use this to not direct myself to linked page for testing
var parent = $(e.target).parent('a');
console.log(parent.attr('href'));
})
于 2013-07-09T07:11:50.803 回答
2

演示在这里

如果您在图像上有一个 id,它总是更容易。

  • 要检查图像src 是否具有父级,<a>您可以使用:if ($(this).parent('a').length) {

点击图片触发的函数内部:

  • 要从作为标签的父级获取href值,<a>您可以使用:$(this).parent('a').prop('href');
  • 要从图像中获取src价值,请使用$(this).prop('src');

整个代码:

$('img').click(function () {
    $(this).preventDefault;
if ($(this).parent('a').length) {
    var im = $(this).prop('src');
    var aHref = $(this).parent('a').prop('href');
    alert('First alert with imc src: '+im);
    alert('Second alert with link href: '+aHref);
}
});
于 2013-07-09T07:41:17.443 回答