确定相关元素是高于还是低于

时间:2016-11-03 12:00:42

标签: javascript jquery html jquery-ui

我有一个包含多个元素的无序列表,并且我使用jquery sortable来移动项目 - 这里是我的标记:

<ul>
    <li id=1>item 1</li>
    <li id=2>item 2</li>
    <li id=3>item 3</li>
    <li rel=2>insert</li>
    <li id=4>item 4</li>
</ul>

&#34;插入&#34;元素与ID为2的LI相关 - 我的问题: 确定相关项目是否高于或低于&#34;插入&#34;的最佳做法是什么?元件? (在这种情况下:上面)

2 个答案:

答案 0 :(得分:1)

if($(this).prevAll("[id=2]").length > 0)
{
//element is above
}


if($(this).nextAll("[id=2]").length > 0)
{
//element is below
}

您可以使用jquery的nextAllprevAll函数。这里$(this)引用insert元素。

答案 1 :(得分:0)

您可以使用index function获取元素的位置并将其与其他元素进行比较:

inserted = $('li[rel=2]');

$('ul li').click(function() {
  if (inserted.index() > $(this).index()) {
    console.log('Clicked element is above');
  } else if (inserted.index() < $(this).index()) {
    console.log('Clicked element is below');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
    <li id=1>item 1</li>
    <li id=2>item 2</li>
    <li id=3>item 3</li>
    <li rel=2>insert</li>
    <li id=4>item 4</li>
</ul>