문제

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

지금까지 내 JS는 각 "링크 2"후에 "링크 3"링크를 추가합니다.

$("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 문서 상당히 포괄적이며 빠른 검색을 통해 원하는 것을 찾는 데 도움이됩니다.

나는 jQuery 전문가는 아니지만, 그것이 일하는 데 상당히 가까이 있다고 생각합니다. 아마도 그 문제에 대해 조금 더 정통한 누군가가 내 대답에 대해 자세히 설명 할 수있을 것입니다 (배우는 것도 신경 쓰지 않을 것입니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top