当用户点击类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);
}
}
答案 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元素执行它。 (需要更多信息)