合并母公司()和子女()选择在JQuery中
问题描述:
我公司目前有以下系列jQuery选择的:合并母公司()和子女()选择在JQuery中
$(this).parent().parent().children('a').children('img').attr('src')
它工作得很好,但有一个更紧凑的方式做到这一点?
UPDATE
这里是我的HTML结构:
<div class="preview">
<a><img src="#"></a>
<div class="info">
<div class="item">This is where we start.</div>
<div>
</div>
答
这样的工作给你的初始条件,无论具体的标记:”
$(this).parent().siblings('a').children('img').attr('src')
+0
像一个魅力。谢谢! – 2012-07-30 21:04:07
答
随着该HTML,一个办法是:
$(this).parents(".preview").find("a img").attr("src");
你也很容易做到:
$(this).parent().prev().children("img").attr("src");
虽然,如果您可以使用HTML5,我的建议将如下添加一个数据裁判开始元素DIV:
<div class="item" data-ref="#imgID-1">This is where we start.</div>
// and of course add an id to the img
<img id="imgID-1" src="blah.png" />
然后你就可以轻松的回忆:
var source = $($(this).data("ref")).attr("src");
总是存在。它只取决于你的HTML结构。你能发布相关的HTML吗? – 2012-07-30 20:47:26
好的,我发布了HTML(简体)。 – 2012-07-30 20:54:21
我认为这样做可以做到最快的方式,而不用担心性能命中将会是'$(this).parents('。preview')。find('img')。attr('src')' – Ohgodwhy 2012-07-30 20:54:42