获取$(this).val()的下一个元素

时间:2014-02-07 17:32:16

标签: javascript jquery html

如何使用javascript获取html中的下一个元素?

我有三个

 <input type="number"  class="number" >

在html和这样的脚本中:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var limite = <?php echo str_replace('"', '&quot;', trim($row["tot_costi_fissi_struttura"])) ?>;
var somma;
var val;

$(".number").change(function(){
val = parseFloat($(this).val());

somma = 0;
$(".number").each(function(){
somma += parseFloat($(this).val());
});
var resto = limite - somma > 0 ? limite - somma : 0;
$("#limite").html(resto);
if(somma > limite){
var diff = somma - limite;
$(this).val(val - diff);
}


})
});

我不仅需要获取当前元素,还需要获取下一个元素。

我试过这个:

valnext = parseFloat($(this).next().val());

但它不起作用

提前致谢

2 个答案:

答案 0 :(得分:1)

取决于类型,使用文本类型:

$(this).next().text();

答案 1 :(得分:1)

如果项目位于DOM中的任意位置,则可以使用jQuery.index。假设我们有三个.number项,第二个被更改,然后:

var $this = $(this),             // this element
    $that = $(".number"),        // group of element to which this element belongs
    index = $that.index($this),  // index of this in that group
    $next = $that.eq(index + 1); // next element in that group
                                 // note that .eq silently returns empty jquery
                                 // object if out of bounds index is specified

Demo here