有许多输入元素,其ID是
问题5,问题6,问题7
,...,如何使用Jquery选择这些输入元素?
我的意思并不是$('#question5')
,我的意思是选择他们的一组。
另外如何使用Jquery获取最后一个数字,如5,6,7,...
答案 0 :(得分:2)
您可以选择其input
以id
开头的所有'question'
元素,然后您可以提取数字,例如:
$('input[id^=question]').blur(function () {
var number = +this.id.match(/\d+/)[0];
});
要小心,因为如果正则表达式不匹配,它将抛出TypeError
,更安全的版本将是这样的:
$('input[id^=question]').blur(function () {
var match = this.id.match(/\d+/);
var number = match ? +match[0] : 0; // default zero
});
答案 1 :(得分:1)
试试这个:
$("input[id^='question']")
它将匹配id
属性以question
开头的输入元素。
获得元素后,您只需在其上执行javascript子字符串即可找到数字:
$("input[id^='question']").each(function() {
alert(this.id.substr(8));
});
答案 2 :(得分:0)
最简单的解决方案可能是为元素提供一个可以选择的公共类:
<input id="question5" class="questions">
<input id="question6" class="questions">
<input id="question7" class="questions">
然后你用$(".questions")
选择所有这些,你可以使用jQuery .attr()函数获取它们的id。
答案 3 :(得分:0)
为每个输入字段添加一个类。
<input class='questions'>
$('.questions')
使用类上的select方法可以解决问题
取决于你要做的事情,使用类的jQuery选择器,你可以添加一个.each来遍历数组,就像这样。
$('.questions').each(function (i){
//i = the current question number
alert('this is question '+i);
});
此外,here是关于jQuery中.each方法的进一步文档