Question

HTML ..

<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>

jQuery ..

Jusqu'à présent, mon JS a ajouté un " Link 3 " lien après chaque " lien 2 " ..

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

Pour accéder à l'intitulé du titre, comment puis-je accéder au titre de la boucle?

$("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>');
});
Était-ce utile?

La solution

Vous pouvez obtenir le frère précédent en utilisant la méthode .prev () . Vous pouvez le faire ou obtenir les liens .parent () , puis .find () la première <b> balise.

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

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

ou

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

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

Autres conseils

Si vous ajoutez une classe, telle que & "; rowTitle &"; à tous vos tags en gras qui enveloppent vos titres, vous devriez pouvoir faire:

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

Ou quelque chose d'assez similaire. Les jQuery Docs sont assez complets et une recherche rapide devrait vous aider à trouver ce que vous cherchez. à la recherche de.

Je ne suis pas un expert de jQuery, mais j'estime que c'est assez proche du travail. Peut-être que quelqu'un un peu plus versé dans le sujet pourrait développer ma réponse (car cela ne me dérangerait pas d'apprendre aussi).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top