gpt4 book ai didi

jquery - 选择器根据名称数组索引获取输入

转载 作者:行者123 更新时间:2023-12-01 03:36:36 25 4
gpt4 key购买 nike

我有一些输入,我希望使用 jQuery 选择其名称属性具有最高数组索引的输入

<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 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]"]

但是整件事对我来说似乎有点过头了,我在想是否有更简单的方法?

最佳答案

三行代码就可以做到:

var ary = [];
$('input').each(function(){ ary.push($(this).attr('name').match(/\d+/g)[0]) })
$('input[name=option\\['+ Math.max.apply(null, ary)+'\\]]').css('background','red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input name="option[3]"/>
<input name="option[2]"/>
<input name="option[8]"/>
<input name="option[4]"/>
<input name="option[1]"/>
<input name="option[5]"/>

第一行声明一个空数组。

第二行迭代输入,并使用简单的正则表达式将名称属性值中的数字推送到数组

最后一行使用 Match.max 选择输入,从数组中选取最大的数字

关于jquery - 选择器根据名称数组索引获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32357707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com