【问题标题】:Finding previous and next li with Javascript使用 Javascript 查找上一个和下一个 li
【发布时间】:2011-11-13 05:50:41
【问题描述】:

我有不确定数量的嵌套 ul 和 li 标签,例如:

<ul>    
    <li>5
        <ul>
            <li>2
                <ul>
                    <li>1
                    </li>
                    <li>4
                        <ul>
                            <li>3
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
    <li>7
        <ul>
            <li>9
                <ul>
                    <li>14
                    <li>
                </ul>
            <li>11
            </li>
        </ul>
    </li>
</ul>

我正在使用 Kendo ui 树视图,它返回给我删除 l 的元素(它可能是 li 内的一个元素,因为我在每个元素中都有一些跨度)。

我需要的是通过DOM和Javascript知道上一个和下一个li来保存元素的新顺序。

有人可以帮忙吗?

【问题讨论】:

  • 我已经加载了 jquery,但我得到了一个 dom 对象,而不是 jquery 对象......我不这么认为,但我是这方面的初学者...... :)
  • 你看过在 noConflict 模式下使用 jQuery 吗?这允许您在同一页面上拥有多个版本并与其他 Javascript 库一起使用。

标签: javascript jquery dom kendo-ui jquery-events


【解决方案1】:

您没有指定您使用的是哪个事件,但它应该是“dragend”。这样,您应该能够检测到父 li,然后让它的所有子重新排序。

在这里查看这个小提琴。这是否更接近您正在寻找的内容?

http://jsfiddle.net/burkeholland/CrRUz/

【讨论】:

    【解决方案2】:

    使用 jQuery:

    var parentLi = $(e).closest('li');
    var previousLi = parentLi.prev()
    var nextLi = parentLi.next();
    

    其中e 是接收丢弃的元素。

    【讨论】:

    • 感谢 Alexandre,但它不能完全正常工作。我认为它没有进入父母的孩子来寻找匹配,所以我大部分时间都没有得到任何结果(在 chrome 上做 console.log)谢谢
    • 所以如果下一个
    • 兄弟包含一个
        你想在其中找到下一个
      • 吗?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签