Ila*_*sda 11 javascript jquery
如何从'.each循环'内部创建一个数组并在循环之外使用它?
我的.each loop:
// Loop through all but button with class .apply
$('.profile-nav ul li a').not('.apply').each( function() {
// if currently loop through element has .cur class
if( $(this).hasClass('cur') ) {
//Get the first class of the match element
var ClassesToApply = $(this).prop('class').split(' ')[0];
}
//How can I create an array from all ClassesToApply?
//var arr = jQuery.makeArray(ClassesToApply);
// This will create an array, but with one element only
});
Run Code Online (Sandbox Code Playgroud)
如何从所有人创建一个数组var = ClassesToApply?
而且我怎么能用这个数组做点什么呢?例如
$( allClasses from an array as a selectors).doStuff();
Jam*_*ice 25
如果你在变量之外声明一个变量each,它将在以下内容中可访问each:
var yourArray = [];
$('.profile-nav ul li a').not('.apply').each(function() {
if($(this).hasClass('cur')) {
yourArray.push($(this).prop('class').split(' ')[0]);
}
});
//Here, yourArray will contain the strings you require.
Run Code Online (Sandbox Code Playgroud)
虽然正如其他人所示,但有很多方法可以显着缩短代码.
Ans*_*shu 13
fxnReqValidation = function () {
var InputTagArray = new Array;
InputTagArray = document.getElementsByTagName("input");
for (var iCnt = 1; iCnt <= InputTagArray.length; iCnt++) {
if ((g_Json[InputTagArray[iCnt].name].required == true) && (InputTagArray[iCnt].value == "")) {
$("#errormsg").text("please enter all required fields");
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
var arr = $( 'a.cur:not(.apply)', '.profile-nav' ).map( function () {
return $( this ).prop( 'class' ).split( ' ' )[0];
}).get();
Run Code Online (Sandbox Code Playgroud)