jQuery 3.3

.andSelf()




jquery

.andSelf () الإرجاع: إصدار jQuery deprecated: 1.8 ، تمت إزالته: 3.0

الوصف: قم بإضافة المجموعة السابقة من العناصر الموجودة على المكدس إلى المجموعة الحالية.

  • الإصدار المضافة: 1.2 .andSelf()

    • هذه الطريقة لا تقبل أي حجج.

ملاحظة: تم إيقاف هذه الوظيفة وأصبحت الآن اسمًا مستعارًا لـ .addBack() ، والذي يجب استخدامه مع jQuery 1.8 والإصدارات الأحدث.

كما هو موضح في مناقشة .end() ، تحتفظ كائنات jQuery .end() داخلي يتتبع التغييرات على مجموعة العناصر المتطابقة. عندما يتم استدعاء إحدى طرق اجتياز DOM ، يتم دفع مجموعة العناصر الجديدة إلى المكدس. إذا كانت المجموعة السابقة من العناصر مطلوبة أيضًا ، يمكن أن يساعد .andSelf() .

فكر في صفحة بها قائمة بسيطة عليها:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li class="third-item">list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

نتيجة التعليمة البرمجية التالية هي خلفية حمراء خلف البنود 3 و 4 و 5:

$( "li.third-item" ).nextAll().andSelf()
  .css( "background-color", "red" );

أولاً ، يحدد محدد البداية العنصر 3 ، تهيئة الكدسة مع مجموعة تحتوي على هذا العنصر فقط. استدعاء المكالمة .nextAll() ثم دفع مجموعة من العناصر 4 و 5 على المكدس. وأخيرًا ، يدمج استدعاء .andSelf() هاتين المجموعتين معًا ، مما يؤدي إلى إنشاء كائن jQuery يشير إلى العناصر الثلاثة كلها في ترتيب المستندات: [ <li.third-item>, <li>, <li> ] .

مثال:

يتسبب أسلوب .andSelf() في تعيين المجموعة السابقة لعناصر DOM في مكدس الاجتياز إلى المجموعة الحالية. في المثال الأول ، تحتوي المكدس العلوي على المجموعة الناتجة عن .find("p") . في المثال الثاني ، يضيف .andSelf() مجموعة العناصر السابقة على المكدس - في هذه الحالة $( "div.after-andself" ) - إلى المجموعة الحالية ، تحديد كل div والفقرات الخاصة به.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>andSelf demo</title>
  <style>
  p, div {
    margin: 5px;
    padding: 5px;
  }
  .border {
    border: 2px solid red;
  }
  .background {
    background: yellow;
  }
  .left, .right {
    width: 45%;
    float: left;
  }
  .right {
    margin-left: 3%;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div class="left">
  <p><strong>Before <code>andSelf()</code></strong></p>
  <div class="before-andself">
    <p>First Paragraph</p>
    <p>Second Paragraph</p>
  </div>
</div>
<div class="right">
  <p><strong>After <code>andSelf()</code></strong></p>
  <div class="after-andself">
    <p>First Paragraph</p>
    <p>Second Paragraph</p>
  </div>
</div>
 
<script>
$( "div.left, div.right" ).find( "div, div > p" ).addClass( "border" );
 
// First Example
$( "div.before-andself" ).find( "p" ).addClass( "background" );
 
// Second Example
$( "div.after-andself" ).find( "p" ).andSelf().addClass( "background" );
</script>
 
</body>
</html>

عرض: