"Ertem/sejtem a belso logikat amit mondasz, de ez valahol megsem annyira intuitiv. "
Nem az intuicio a lenyeg. MINDEN CSS property tipusa es emiatt az erteke JavaScriptben string. Akkor is, ha numerikus ertekkifejezes lenne benne. Es ez fuggetlen attol, hogy az zIndex, left, display, fontWeight vagy barmi mas. Mindig string a style-ban levo property erteke. Azert, mert nem feltetlenul numerikus az erteke, ugyanis van 3 CSS default, ami mindig valid ertek, barmelyik propertyre: 'inherit', 'unset' es 'initial'. Sosem szabad JS-bol a CSS propertyket nem stringkent kezelni. Ennyit kell csak egyszer megjegyezni, es maris megerted a dolgot.
" z-index: "3137""
Ez mondjuk pont invalid, hiszen a z-index értéke az vagy a 3 default vagy 'auto' vagy egy egesz szam. A "3137" egyik sem. Backend oldalon ezt ugy kell generalni, hogy z-index: 3137;, az a valid ertek.