2

HTML:

<div class="group">
    <div class="link"><a class="add_link" href="javascript:">add</a></div>
    <p class="values">test....</p>
    <input type="text" class="box1" value="10" />
    <input type="text" class="box2" value="20" />
    <input type="text" class="box3" value="30" />
    <input type="text" class="final" value="100" />
</div>

<div class="group">
    <div class="link"><a class="add_link" href="javascript:">add</a></div>
    <p class="values">test....</p>
    <input type="text" class="box1" value="5" />
    <input type="text" class="box2" value="10" />
    <input type="text" class="box3" value="15" />
    <input type="text" class="final" value="700" />
</div>
<div class="group">
    <div class="link"><a class="add_link" href="javascript:">add</a></div>
    <p class="values">test....</p>
    <input type="text" class="box1" value="103" />
    <input type="text" class="box2" value="230" />
    <input type="text" class="box3" value="350" />
    <input type="text" class="final" value="770" />
</div>

jQuery:

$('.add_link').click(function(){

    value=$(this).parent('div').next('p').next('input.box1').next('input.box2').next('input.box3').next('input.final').val();
    alert(value);

});

jsfiddle:http: //jsfiddle.net/Thn6A/

当我单击类add_link的元素时,我想选择其组的类最终值。我已经为它编写了上面的代码,这似乎可行,但我想要一个更直接的选择器来定位元素。

4

4 回答 4

3

有很多方法,但我想说这是最简单的:

$('.add_link').click(function(event){
    event.preventDefault(); //Instead of href="javascript:"
    var value = $(this).closest(".group").find(".final").val();
    alert(value);
});

此外,您可以使用该event对象来阻止单击的默认操作,而不是将其添加到您的href属性中。

阅读更多:http ://api.jquery.com/closest

于 2012-09-24T05:43:12.977 回答
1

你可以这样做:

$('.add_link').click(function(){
  var value=$(this).parent().siblings('.final').val();
    alert(value);          
});

工作演示:http: //jsfiddle.net/saji89/Wcs7t/

不同方法的比较:http: //jsperf.com/closest-find-vs-parent-siblings

发现最快的方法是:
var value=$(this).parent().find('.final').val();

于 2012-09-24T05:47:51.247 回答
0

试试这个

$('.add_link').click(function(){
        value=$(this).parent('div').siblings('input.final').val();
        alert(value);    
});
于 2012-09-24T05:45:49.980 回答
0

您可以使用last-child获取任何标签的最后一个值。

看看这个http://jsfiddle.net/2u4SM/

于 2012-09-24T05:54:36.623 回答