其他元素
问题描述:
上获取图像src属性从点击事件我有一个div
gettng点击的(删除按钮),其位于img
我的网页上后。其他元素
<div class="item">
<img src="/media/BodyPart_e4fc6673-1476-42d2-a98d-947b0e79fd99/300/0" class="media-item">
<div class="remove" title="Remove"></div> //getting clicked
</div>
等click事件,我通过这个代码访问的IMG:
var img = $(this).prev("img.media-item");
那么我想访问的img
var extracted_string = img.src.match(/BodyPart[^\/]*/);
src属性,但得到img.src
underfined
我该如何解决这个问题?
UPDATE
我只是看看,如果我将做到这一点$(this).prev("img.media-item").attr("src")
- 我能得到src
但为什么var img = $(this).prev("img.media-item"); $(img).attr("src")
不工作
答
试试这一段代码
var imgPath = $('.item img').attr('src');
答
合Ë你使用jQuery,然后尝试:
var extracted_string = img.attr('src').match(/BodyPart[^\/]*/);
答
在jQuery的一个干净的方式从.remove
DIV点击获得img
是这样的:
$(".remove").click(function(e) {
var src = $(this).closest(".item").find(".media-item").attr("src");
});
做这种方式的优点即使布局有所改变,它也能找到想要的图像,所以它不依赖于元素的精确相对定位(使之比依赖于一个元素的技术更加稳定)。
这是jQuery的代码,你是在树的同一分支寻找另一种元素一个非常普遍的技术,效果很好,当有反复项目组都具有相同的结构。点击任何.remove
项目可以在同一分支中的任何其他项目上操作。