2009-06-23 5 views
1

HTML ..jQuery를 ... 지금까지 내 JS 각 "링크 2"후 "연결 3"링크를 추가 <p></p>

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

현재 요소 앞에 문자열을 당겨
$("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>'); 
}); 

답변

1

당신은 .prev() method를 사용하여 이전 형제를 얻을 수 있습니다. 이를 수행하거나 링크 .parent()을 가져온 다음 .find() 첫 번째 <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"); 
}); 
1

당신이 당신의 제목을 포장되는 여러분의 강렬한 모든 태그에 같은 "rowTitle"와 같은 클래스를 추가하는 경우, 당신이 할 수있을 것입니다 :

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

아니면 상당히 비슷합니다. jQuery Docs은 매우 포괄적이며 빠른 검색을 통해 원하는 정보를 찾을 수 있습니다.

저는 jQuery 전문가가 아니지만 작업에 상당히 가깝습니다. 아마도이 문제에 조금 더 정통한 사람이 내 대답에 대해 자세히 설명 할 수 있습니다.