2017-06-22 37 views
0

我有7个选项的下拉列表。我需要使用java脚本获取第二个选项的值。我写了一些东西,但它不起作用。如何获得使用java脚本的倒数第二个元素

$('.checkbox4').on('click', function(e) { 
    var last_chekbox4 = $('.checkbox4:last.prev()'); 
    if (last_chekbox4.is(':checked')) { 
     $('.checkbox4').prop('checked', false); 
     $(this).prop('checked', true); 
    } 
}); 
+0

所有复选框是兄弟,如果他们是在同一容器中。 @Apurba:你能不能显示你的html? – Mic

+0

您是否检查了控制台的错误,或者可能使用了'console.log(last_chekbox4)'来确保您的目标是正确的元素? – NewToJS

回答

0

您有7个元素。使用nth-of-type选择

$(".checkbox4:nth-of-type(6)"); 

要选择倒数第二个option

1

使用prev()方法

$('.checkbox4:last').prev() 

如果在两者之间,然后用

$('.checkbox4:last').prevAll('.checkbox4').first() 

仅供参考一些其他的因素:如果元素不是兄弟,上述方法不起作用。


UPDATE: 或者得到其排除使用 :not()和jQuery :last最后一个集合中的最后一个。

$('.checkbox4:not(:last):last') 

或按索引使用eq()方法。

var $col = $('.checkbox4'); 
// get element by index, where index starts from 0 
var $ele = $col.eq($col.length - 2); 
+0

这个很好。 +1 –

+0

@Pranav C这是唯一的工作,如果所有复选框在同一个容器(例如div)? – Mic

+0

@Mic:nop但它只会得到最后一个 –

相关问题