jQuery 3.3

.addBack()




jquery

.addBack ([selector]) إرجاع: jQuery

الوصف: قم بإضافة المجموعة السابقة من العناصر الموجودة على المكدس إلى المجموعة الحالية ، والتي تمت تصفيتها اختياريًا بواسطة محدد.

  • الإصدار المضاف: 1.8 .addBack ([selector])

    • منتخب
      النوع: Selector
      سلسلة تحتوي على تعبير محدد لمطابقة المجموعة الحالية من العناصر.

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

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

<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().addBack()
  .css( "background-color", "red" );

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

مثال:

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

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>addBack 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>addBack()</code></strong></p>
  <div class="before-addback">
    <p>First Paragraph</p>
    <p>Second Paragraph</p>
  </div>
</div>
<div class="right">
  <p><strong>After <code>addBack()</code></strong></p>
  <div class="after-addback">
    <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-addback" ).find( "p" ).addClass( "background" );
 
// Second Example
$( "div.after-addback" ).find( "p" ).addBack().addClass( "background" );
</script>
 
</body>
</html>

عرض: