jQuery的..当前元素之前,拉弦

问题描述:

HTML ..jQuery的..当前元素之前,拉弦

<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() 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"); 
}); 

如果你添加一个类,如“rowTitle”所有你大胆的标签被包裹你的标题,你应该能够做到:

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

或者相当类似的东西。 jQuery Docs是相当全面的,在那里快速搜索应该可以帮助你找到你要找的东西。

我不是jQuery专家,但我相信这相当接近工作。也许有人对这个问题更精通一点,可以详细解释我的答案(因为我不介意学习)。