Foreach hurok jquery

szavazat
47

Van egy probléma, ha kapok az ablak méretét jquery majd hurok througbh három img elemet alkalmazni a szélességet a belső stílust a légy.

A kérdés az, hogy ha a foreach ciklus fut én kap ez a hiba a konzol nem fogott Típushiba: Object [object Object] nincs módszer „setAttribute”

Tettem egy töréspontot a hurok és az alkalmazott setAttribute hogy ezt , és úgy tűnik, hogy jól működik. I dont értem, hogy miért, ha végiglépked a tömb ez nem bánik minden tömb elem, mint egy tárgy, de úgy tűnik, hogy megpróbálja elérni a tömb, mint egy tárgyat.

var windowsize = $(window).width();

$(window).resize(function() {

    windowsize = $(window).width();

    $( #imgs img ).each(function (){
        $( this ).setAttribute(style,width:+windowsize+px);

    });                                                                 
});

Sajnálom, ha ez nem egyértelmű

minden segítséget nagyban Nyilvánvaló

A kérdést 26/07/2013 15:24
felhasználó
Más nyelveken...                            


2 válasz

szavazat
1

.setAttribute()egy natív Javascript módszerrel. Ahogy már a jQuery, használja .attr()helyette:

$(this).attr("style", "width:" + windowsize + "px");

vagy:

$(this).css("width", windowsize + "px");

vagy még jobb:

$(this).width(windowsize);
Válaszolt 26/07/2013 15:28
a forrás felhasználó

szavazat
2

A setAttribute egy js módszer, és nem egy jquery módszer.

Akkor sem kell használni a nyers js módszer a DOM elemet közvetlenül vagy használja a jQuery változat .attr () módszer.

Mind a lenti módon azonos, de személy szerint a natív js jobban érzi magát.

$( this ).attr("style","width:"+windowsize+"px");
this.setAttribute("style","width:"+windowsize+"px");
Válaszolt 26/07/2013 15:28
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more