Jquery第一次出现树遍历 parent / sibling

标签 jquery tree siblings parents

给定一个类最接近(在树上)的最佳方法是什么,但它可以是父级的 sibling 。

我想获取以元素“.start”开头的“errors1”元素

<div>
    ...
    <div class="errors">errors2</div>
    <div>
        .....
        <div class="errors">errors1</div>
        ...
        <div>...</div>
        <div>
            .....
            <div class="start"></div>            
        </div>     
    </div>
</div>

制作了一个脚本,但它真的很糟糕,根本不起作用。

http://jsfiddle.net/9DfCJ/1/

谢谢

编辑: 添加“...”以增强结构的动态性。重点是找到树上最接近的“.errors”。

最佳答案

很好的问题。下面的代码应该适合你。它循环遍历 .start 的每个父元素,直到找到带有 .errors 的元素。然后它会警告最接近 .start.errors 元素的文本。

jQuery(function($){

    var $start = $('.start'),
        $parents = $start.parents();

    $parents.each(function(){
        var $this = $(this),
            $thisErrors = $this.find('.errors'),
            numErrors = $thisErrors.length;

        if(numErrors){
            alert($thisErrors.eq(numErrors-1).text());
            return false;
        }

    });

});

关于Jquery第一次出现树遍历 parent / sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4999739/

相关文章:

c++ - 我的二叉搜索树的运算符 += 有什么问题?

jQuery 下一个有特殊类型子元素的兄弟

jquery - 用 jQuery 改变按钮的功能?

javascript - yii2:使用与请求页面不同的 Pjax 更新/刷新/重新加载页面

c# - 列表/树/堆栈 - 算法

c++ - 使用递归的非二叉树不会创建整棵树

javascript - 阻止 Firefox 退出延迟对象的执行

javascript - 如何在 TextBox 上使用 JQuery 的拖放功能?

android - 不是同一 RelativeLayout 中的同级

css - 是否有 "previous sibling"选择器?