jquery选择器来获取图像路径

时间:2011-10-09 14:29:18

标签: jquery image path selector

当用户点击类click_1时,我想获得所显示图像的路径。请注意,click_1出现在两个上下文中。

<a href="#" class='click_1' ><img src="assets/img/shoe05.png" /></a>
<h4><a href="#" class='click_1' >title link 2</a></h4></li>


    $('.click_1').click(function() {            
        var fullPath = $(this).children("img:first").attr('src');
        if (typeof fullPath === "undefined"){
                        // this one does not work...
            var fullPath = $(this).prev("img").children("img:first").attr('src');
            console.log(fullPath);
        }
    }   

3 个答案:

答案 0 :(得分:1)

为什么不将它们包装在一个<a />标签中?从HTML5开始,这现在有效。

<a href="#" class='click_1'>
    <img src="assets/img/shoe05.png" />
    <h4>title link 2</h4>
</a>
$('.click_1').click(function() {            
    var src = $(this).children('img').first().attr('src');
    console.log(src);
});

答案 1 :(得分:0)

将正确的元素分配给var,检查它是否存在,然后拉出'src'。像这样:

$('.click_1').click(function() {            
    var imgElement = $(this).find("img").first();
    if (imgElement.length){
        var fullPath = imgElement.attr('src');
        console.log(fullPath);
    }
} 

答案 2 :(得分:0)

假设类click_1对于相关代码的这一部分是唯一的,您可以使用它:

$('.click_1').click(function() {            

    var element = $(this).find('img').first() || $('.click_1 img').first();
    var fullPath = element.attr('src');

    console.log(fullPath);
});

然而,有些东西告诉我最好设置一个以类名作为参数的函数,这样你就可以为页面上的多个click_X元素执行它。 (需要更多信息)