对于页面上的每个输入字段,其ID以“_name”和“_value”结尾,我放置了两个数组。对于名称数组中输入的每个值(nameArr和valArr的输入数量相等),我想在输入namrArr作为标题之前放置,然后隐藏输入。但是,一旦放入数组中,我似乎无法访问输入的值??
var name = $("[id$=_name]");
var nameArr = $.makeArray(name);
var val = $("[id$=_value]");
var valArr = $.makeArray(val);
for(var i = 0; i < valArr.length; i++){
$(nameArr[i]).before("<h3>"+nameArr[i].val()+"</h3>");
$(nameArr[i]).hide();
}
答案 0 :(得分:1)
你不需要把它变成一个数组,它已经是。
for(var i = 0; i < val.length; i++){
$(name[i]).before("<h3>"+$(name[i]).val()+"</h3>");
$(name[i]).hide();
}
答案 1 :(得分:1)
您可以简化它,因为您的jQuery选择器已经返回一个数组:
$("[id$=_name]").each(function (index, item) {
$(this).before("<h3>" + $(this).val() + "</h3>");
$(this).hide();
});
答案 2 :(得分:0)
使用map()
..
var valuesArray=$("[id$=_name]").map(function(){
return this.value;
}).get();
var namesArray=$("[id$=_value]");
for(var i = 0; i < namesArray.length; i++){
$(namesArray[i]).before("<h3>"+valuesArray[i]+"</h3>");
$(namesArray[i]).hide();
}