我有一个包含多个元素的无序列表,并且我使用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;的最佳做法是什么?元件? (在这种情况下:上面)
答案 0 :(得分:1)
if($(this).prevAll("[id=2]").length > 0)
{
//element is above
}
if($(this).nextAll("[id=2]").length > 0)
{
//element is below
}
您可以使用jquery的nextAll
和prevAll
函数。这里$(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>