获取警报中最后一个嵌套文本字段的值

Get the value of last nested textfield in an alert

我想获取嵌套文本字段中的最后一个值。文本字段的所有 ID 和 class 都相同。下面是 html 和 ajax

<table width="200" border="1" cellpadding="3" cellspacing="3">
  <tr>
    <td><label for="textfield"></label>
    <input name="textfield" type="text" class="digit" id="textfield" value="1" /></td>
  </tr>
  <tr>
    <td><input name="textfield" type="text" class="digit" id="textfield" value="2" /></td>
  </tr>
  <tr>
    <td><input name="textfield" type="text" class="digit" id="textfield" value="3" /></td>
  </tr>
  <tr>
    <td><input name="textfield" type="text" class="digit" id="textfield" value="4" /></td>
  </tr>
  <tr>
    <td><input name="textfield" type="text" class="digit" id="textfield" value="5" /></td>
  </tr>
</table>

ajax

<script>
$(document).ready(function(){
$digit = $('.digit')
alert ($digit)

});
</script>

这里是 link 到 fiddle: http://jsfiddle.net/xr3kpfrg/

使用 :last pseudo selector 将针对给定选择器的最后一个元素:

$(document).ready(function(){
    $digit = $('.digit:last').val(),
    alert ($digit); //should get a 5 here    
});

这个伪选择器的工作原理是获取与您的选择器匹配的所有元素(在本例中是使用 .digit class 的所有元素),并基于这组元素,它获取集合中的最后一个元素。

JSFiddle: http://jsfiddle.net/xr3kpfrg/2/

编辑:作为一条建议,您应该按照@NightOwlPrgmr 在他的评论中的建议在您的页面中使用唯一的 ID。

使用 jquery 的 last() 方法。

已更新fiddle: http://jsfiddle.net/xr3kpfrg/3/

$(document).ready(function(){
    $digit = $('.digit').last().val(),
    console.log($digit);
    alert($digit);
});