如何判断元素是否位于DOM中的另一个元素之前
问题描述:
如何检查元素是否位于DOM中的另一个元素之前?如何判断元素是否位于DOM中的另一个元素之前
例如
<div>
<div id='first'></div>
<div id='second'></div>
</div>
<div id='third'></div>
second
元件是first
之后和之前third
。你怎么能检查这与jQuery?
答
没有一个jQuery功能可按这一点,但是你可以很容易地通过添加以下代码来实现它:
(function ($) {
$.fn.isBeforeElement = function (elem) {
if (typeof(elem) == "string") elem = $(elem); //just in case of bad input
return this.add(elem).index(elem) > 0;
}
})(jQuery);
之后,您可以拨打
$('#first').isBeforeElement($('#second')); //returns true
$('#second').isBeforeElement($('#third')); //returns false
$('#third').isBeforeElement($('#second')); //returns true
//etc..