Domanda

this script works in jQuery 1.9, but does not work in 1.8. How to convert this script to jQuery 1.8 ?

NOT Working Demo on jsfiddle

Working Demo on jsfiddle

HTML

<div id="container">
    <div id="c1" class="aaa" style="text-align:right; color:red top:100px; ">child 1</div>
    <div id="c2" class="aaa" style="text-align:left; top:200px; ">child 2</div>
</div>

jQuery script

$("#container").children().each( function () {
    alert("element ID = " + $(this).attr('id'));
    var styleProps = $(this).css(["width", 
                                  "height", 
                                  "color", 
                                  "background-color", 
                                  "text-align", 
                                  "left", 
                                  "top", 
                                  "right", 
                                  "bottom"]);
    $.each(styleProps, function (prop, value) {
        alert(prop + " = " + value);
    });
});
È stato utile?

Soluzione

The css function accepting an array wasn't implemented until 1.9.

You'll probably have to do it by hand if you're using 1.8 (loop through the values one at a time).

var styleNames = ["width", "height", "color", ...etc... ];

var i;
var $elem = jQuery(this);
for (i = 0; i < styleNames.length; ++i) {
    alert(styleNames[i] + " = " + $elem.css(styleNames[i]));
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top