2012-03-30 108 views
1

我遇到了一个问题,试图找到包含特定孩子(一个树木级别)的父母的最接近的兄弟姐妹。我终于通过反复试验找到了答案,但在进行测试之前,我在这里进行了搜索。以为我会分享我的发现,看看有没有人有更简单的方法来做我正在做的事情。当兄弟姐妹动态时发现父母以前的兄弟姐妹的特定孩子

本质上,我使用的是jQuery 1.7(最新截至03/30/2012),并且需要在以下行中查找以前显示的“继续”标题的标题。以下是我想出了:

(($(this).parent().prevAll()).children('h2')).first().html(); 

我只是这个分配给一个变量,并用它来创建下一行新的“继续”称号。

任何建议更清洁的代码?这可以做得更容易或更有效?

编辑:

这里是按要求HTML:

<div class="container"> 
    <div class="subbox"> 
     <h2>Title1</h2> 
     <div class="itembox">...some content here...</div> 
    </div> 
    <div class="subbox"><div class="itembox">...some content here...</div></div> 
</div> 

正如你所看到的,它只是一组子盒用在具有H2集合中的第一个,但在我案例我正在处理4套以上,需要获得集合中第一个项目的标题(不一定是第一个集合的标题)。

+1

您可以发布这样做的HTML? – Joseph 2012-03-30 19:05:59

+0

@Joseph编辑显示HTML。 – Lazerblade 2012-04-02 14:43:17

回答

1

不是100%肯定这是否会工作,因为我没有测试它,但你可以简化代码,如果你有这样的:

($(this).parent().prevAll()).children("h2:first").html(); 
+0

我想过使用伪类,但是这样做会提高性能吗?正如其他人之前指出的那样,我认为伪类会更慢。 – Lazerblade 2012-04-02 14:44:25