Jquery 基于名称数组索引获取输入的选择器
我有一些输入,我希望使用jQuery为其name属性选择具有最高数组索引的一个Jquery 基于名称数组索引获取输入的选择器,jquery,Jquery,我有一些输入,我希望使用jQuery为其name属性选择具有最高数组索引的一个 <input name="option[3]"/> <input name="option[2]"/> <input name="option[8]"/> <!-- <----- --> <input name="option[4]"/> <input name="option[1]"/> <input name="option[
<input name="option[3]"/>
<input name="option[2]"/>
<input name="option[8]"/> <!-- <----- -->
<input name="option[4]"/>
<input name="option[1]"/>
<input name="option[5]"/>
但这整件事对我来说似乎有点过分,我想知道是否有更简单的方法?
var$test=$(“输入[name^=option]”)。排序(函数(a,b){
var aID=a.name.replace(/option\[(\d+)\]/,“$1”);
var bID=b.name.replace(/option\[(\d+)\]/,“$1”);
返回援助<投标?-1:1;
});
$test.last().remove()代码>
三行代码就可以做到这一点:
var-ari=[];
$('input').each(function(){ary.push($(this.attr('name')).match(/\d+/g)[0]))
$('input[name=option\\['+Math.max.apply(null,ary)+'\\]]').css('background','red')
var options = [];
$('[name]').filter(function (i, e) {
return $(e).attr('name').match(/option\[\d+/) // [name=option[n
}).each(function (i, e) {
options.push($(e).attr('name').replace(/option\[(\d+)\]/, '$1')); // [3,2,8,4,1,5]
});
options.sort(); // [1,2,3,4,5,8]
var $option = $('[name="option[' +
options.slice(options.length - 1, options.length) +
']"]'); // [name="option[8]"]