当前位置: 首页 > 中文手册 > jQuery.offsetParent() 函数详解

jQuery.offsetParent() 函数详解

offsetParent()函数用于查找离当前匹配元素最近的被定位的祖辈元素

所谓"被定位的元素",就是元素的CSS position属性值为absoluterelativefixed(只要不是默认的static即可)。

该函数属于jQuery对象(实例)。

语法

jQuery 1.2.6 新增该函数。

jQueryObject.offsetParent( )

返回值

offsetParent()函数的返回值为Object类型,返回包含离当前元素最近的"被定位"的祖辈元素的jQuery对象。

offsetParent()函数将从当前元素开始逐级向上查找符合条件的元素。如果在找到<html>元素之前没有符合条件的祖辈元素,则匹配<html>元素。

示例&说明

以下面这段HTML代码为例:

<div id="n1">
	<div id="n2" style="position: relative;">
		<div id="n3" style="position: relative;" ></div>
		<div id="n4">
			<div id="n5">
				<p id="n6">CodePlayer</p>
			</div>
		</div>
	</div>
</div>
<div id="n7" style="position: absolute;">
	<div id="n8" style="position: relative;" >
		<p id="n9">专注于编程开发技术分享</p>
	</div>
</div>
<p id="n10">http://www.365mini.com</p>

以下jQuery示例代码用于演示offsetParent()()函数的具体用法:

function w(html){
	document.body.innerHTML += html;
}
//返回jQuery对象所有匹配元素的标识信息数组
//每个元素形如:"tagName"或"tagName#id"
function getTagsInfo($doms){
	return $doms.map( function(){
		return this.tagName + ( this.id ? "#" + this.id : "" ); 
	} ).get();
}


// $("p") 匹配n6、n9、n10三个元素
// n6向上查找,找到被定位的祖辈元素n2
// n9向上查找,找到被定位的祖辈元素n8,只要找到了一个就不再继续向上查找
// n10向上查找,一直找到html标签之前都没有找到被定位的祖辈元素,因此匹配html
w( getTagsInfo( $("p").offsetParent() ) ); // DIV#n2,DIV#n8,HTML

运行代码

3 1
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。