.offsetParent()

Định nghĩa và sử dụng

  • .offsetParent(): Lấy một thành phần "tổ tiên" gần nhất có sử dụng thuộc tính position, những thành phần được lấy không phân biệt position: relative, absolute hay fixed.

Cấu trúc

  • Đã được thêm vào từ phiên bản 1.2.6

.offsetParent()

$('p').offsetParent();

.offsetParent()

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    $('.test').offsetParent().css('border','1px solid blue');
});
</script>
</head>

<body>
<ul style="position: relative;">
    <li>Thành phần thứ 1</li>
    <li>
        <ul style="position: relative;">
            <li>Thành phần 2-1</li>
            <li>Thành phần 2-2</li>
            <li>Thành phần 2-3</li>
            <li>
                <ul>
                    <li class="test">Thành phần 2-4-1</li>
                    <li>Thành phần 2-4-2</li>
                    <li>Thành phần 2-4-3</li>
                    <li>Thành phần 2-4-4</li>
                    <li>Thành phần 2-4-5</li>
                </ul>
            </li>
            <li>Thành phần 2-5</li>
        </ul>
    </li>
    <li>Thành phần thứ 3</li>
    <li>Thành phần thứ 4</li>
    <li>Thành phần thứ 5</li>
</ul>
</body>
</html>

Hiển thị trình duyệt:

Ta thấy thành phần tổ tiên gần nhất có sử dụng thuộc tính position đã được chọn.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<ul style="position: relative;">
<li>Thành phần thứ 1</li>
<li>
<ul style="position: relative;">
<li>Thành phần 2-1</li>
<li>Thành phần 2-2</li>
<li>Thành phần 2-3</li>
<li>
<ul>
<li class="test">Thành phần 2-4-1</li>
<li>Thành phần 2-4-2</li>
<li>Thành phần 2-4-3</li>
<li>Thành phần 2-4-4</li>
<li>Thành phần 2-4-5</li>
</ul>
</li>
<li>Thành phần 2-5</li>
</ul>
</li>
<li>Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>

<ul style="position: relative;">
<li>Thành phần thứ 1</li>
<li>
<ul style="position: relative; border: 1px solid blue;">
<li>Thành phần 2-1</li>
<li>Thành phần 2-2</li>
<li>Thành phần 2-3</li>
<li>
<ul>
<li class="test">Thành phần 2-4-1</li>
<li>Thành phần 2-4-2</li>
<li>Thành phần 2-4-3</li>
<li>Thành phần 2-4-4</li>
<li>Thành phần 2-4-5</li>
</ul>
</li>
<li>Thành phần 2-5</li>
</ul>
</li>
<li>Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>