javascript - Why jQuery .val() work and js .value doesn't work -


i have problem jquery .val() method , native js .value. have function use in 2 different page, html code :

<input type="hidden" name="checkentreelun" value=""/> <input type="hidden" name="checkentreemar" value=""/> <input type="hidden" name="checkentreemer" value=""/> <input type="hidden" name="checkentreejeu" value=""/> <input type="hidden" name="checkentreeven" value=""/> <input type="hidden" name="checkentreesam" value=""/> <input type="hidden" name="checkentreedim" value=""/> 

and other page same code, except there default value in inputs. , in js function, need value of each input. here have :

for (i=0;i<days.length;i++){         var nameentree = "checkentree"+days[i];         var checkentreematin = $("input[name='"+nameentree+"']").val();       //do value ... } 

here comes problem, page there no default value in input, can value document.getelementsbyname("checkentree"+days[i]).value , not .val() method , when use .val() method can value on page there default value.

why it's working method , not other , vice versa ?

$(someselector) returns jquery object. val() method appears on jquery object gets first or sets value of elements object contains (or nothing if selector didn't find any).

getelementsbyname returns node list, array-like object each member html element node. doesn't have value property, although each html element node does.

in order use getelementsbyname, need access individual elements explicitly, e.g. looping on result.

var elements = document.getelementsbyname("checkentree"+days[i]); (var j = 0; j < elements.length; j++) {     elements[j].value = ...; } 

Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

python - pip wont install .WHL files -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -