1

この配列からオブジェクトを選択し、「data-id」を使用してそのすべてのプロパティを要素に出力しようとしています。どうすればこれを行うことができますか?また、新しいCarObjectsにIDを与えるにはどうすればよいですか?

**<div id="carInfo" data-id="10"></div>**

function Car(company, name, price, details, image, alt){ 
    this.company = company;
    this.name = name;
    this.price = price;
    this.details = details;
    this.image = image;
    this.alt = alt;
}

var carInformation = [new Car("Ferrari", "Marenello", " $250,000", "Fast. Very Fast.", "images/ferrari.jpg","image of ferrari"),
                      new Car("Dodge", "Viper", " $100,000","Great Acceleration","images/dodge.jpg", "image of viper"),
                      new Car("Ford", "Shelby", "$80,000", "Muscle Car", "images/mustang.jpg", "image of mustang"),
                      new Car("Back To The Future", "Delorean", "$20,000", "Travels through time","images/delorean.jpg", "image of delorean"),
                      new Car("Lamborghini", "Diablo", "$250,000", "Fastest","images/lambo.jpg","image of lamborghini"),
                      new Car("CMercedes Benz", "SLR", "$180,000", "Classy Vehicle.","images/benz.jpg","image of mercedes benz"),
                      new Car("Chevrolet", "Corvette", "$70,000", "Fiberglass body Light Vehicle.","images/vette.jpg","image of corvette"),
                      new Car("Porsche", "Carrera", "$120,000", "Great Handling.","images/porsche.jpg", "image of porsche"),
                      new Car("Audi", "R8", "Price: $110,000", "Fast and Classy.", "images/audi.jpg","image of audi") ];
4

1 に答える 1

3

jQuery では、メソッドdata-idを介して属性を取得できます。data()

var carInfo = carInformation[$('#carInfo').data('id')];

Object.keys(carInfo).forEach(function (val) {
    console.log(val + " is " + this[val]);
}, carInfo);

上記のスニペットは、古いブラウザではサポートされていないECMAScript5仕様のコードを使用しています。それらをサポートしたい場合は、ES5 shimまたはpolyfillerを使用するか、以下のスニペットを使用する必要があります。

var carInfo = carInformation[$('#carInfo').data('id')];

for (var x in carInfo) {
    if (carInfo.hasOwnProperty(x)) {
        console.log(x + " is " + carInfo[x]);
    }
}

要素に出力する方法は、どのようにフォーマットするかによって異なりますが、上記のコードは、これを行うために必要なすべての詳細を提供します。

編集:carInformation配列には8つの要素しかないことに注意してください...

于 2012-06-19T12:51:57.717 に答える