سؤال

لغة البرمجة..

<div class="row">
   <div>
      <b>Title A</b> <a href="#">Link 1</a> <a href="#">Link 2</a>
   </div>
   Content A
</div>
<div class="row">
   <div>
      <b>Title B</b> <a href="#">Link 1</a> <a href="#">Link 2</a>
   </div>
   Content B
</div>
<div class="row">
   <div>
      <b>Title C</b> <a href="#">Link 1</a> <a href="#">Link 2</a>
   </div>
   Content C
</div>

مسج..

يضيف JS الخاص بي حتى الآن رابطًا "Link 3" بعد كل "Link 2".

$("a:contains('Link 2')").each(function(){
   $(this).after(' <a href="#">Link 3</a>');
});

لكل عنصر في الحلقة كيف يمكنني الوصول إلى العنوان.

$("a:contains('Link 2')").each(function(){
   // I need to find the title string for each row. So is there a way to find elements before the $(this) identifier?
   $(this).after(' <a href="#">Link 3</a>');
});
هل كانت مفيدة؟

المحلول

يمكنك الحصول على الأخ السابق باستخدام طريقة .prev().يمكنك القيام بذلك، أو يمكنك الحصول على الروابط .الأبوين(), ، وثم .يجد() الأول <b> بطاقة شعار.

<p>Something Here</p> <!-- This becomes red -->
<p class="pickme">Hello World</p>

$(document).ready(function(){
  $(".pickme").prev().css("color","red");
});

أو

<p>Something Here</p> <!-- this becomes green -->
<p class="pickme">Hello World</p>

$(document).ready(function(){
  $(".pickme").parent().find("p:first").css("color", "green");
});

نصائح أخرى

إذا قمت بإضافة فئة، مثل "rowTitle" إلى جميع العلامات الغامقة التي تغلف عناوينك، فمن المفترض أن تكون قادرًا على القيام بما يلي:

$("a:contains('Link 2')").each(function(){
   $(this).parent().find(".rowTitle").html
});

أو شيء مشابه إلى حد ما.ال مستندات مسج شاملة إلى حد ما، ومن المفترض أن يساعدك البحث السريع هناك في العثور على ما تبحث عنه.

أنا لست خبيرًا في jQuery، لكنني أعتقد أن هذا قريب جدًا من العمل.ربما يمكن لشخص أكثر خبرة في هذا الأمر أن يوضح إجابتي (لأنني لا أمانع في التعلم أيضًا).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top