2012-10-03 25 views
6

は、私は別の開発者がコードをデバッグしようとしている、と私は私の人生のために、この変数に格納されているものを把握することはできません。このjQueryセレクターについて説明してください。

var dl = $("<dl>",{class: 'my_class'}); 
この行は、「期待識別子、文字列を生成している

かIE8以下のエラーメッセージが表示されますが、他のブラウザはありません。同じ構文を別の構文で使用できる方法がいくつかあるかどうかを判断しようとしています。

アドバイスをいただければ幸いです。

答えて

8

class属性の値がmy_classdl要素(jQueryオブジェクトでラップされています)が作成されています。この形式の関数の詳細については、jQuery docsを参照してください。

classはJavaScriptの予約語なので、エラーが発生します。あなたはそれを引用して、それを修正することができます:

var dl = $("<dl>", { "class": "my_class" }); 

を別の方法として、あなたは(あなたがどのブラウザでクォートする必要はありませんどの)の代わりにclassNameプロパティを設定できます

var dl = $("<dl>", { className: "my_class" }); 

注ES5仕様は、そのすることができます予約語をプロパティ名として使用します。しかし、明らかに古いバージョンのIEをサポートする必要があるので、あなたはそれを忘れて、とにかくそれらを引用する必要があります。あなただけのバージョン9の下にIEのサポートをドロップすると、あなたがすべてで、あなたのコードを変更する必要はありません。

2

classのJavaScriptの予約語である)、それを引用符でラップする必要があります。

var dl = $("<dl/>",{'class': 'my_class'});