2012-04-23 8 views
0

毎回:私はDOM例外5プロトタイプ新しい要素名Iのようなプロトタイプを使用して新しい要素を定義

を取得する属性のリストに「名前」フィールドが含まれている場合しかし、

var iframe = new Element('iframe', { 
    name: 'preview_frame', 
    id: 'preview_frame', 
    src: 'form/' + formID + '?prev', 
    allowtransparency: true, 
    frameborder: 0 
}) 

を私はこれを行う:

var iframe = new Element('iframe', { 
    id: 'preview_frame', 
    src: 'form/' + formID + '?prev', 
    allowtransparency: true, 
    frameborder: 0 
}) 
iframe.name = 'preview_frame'; 

私はエラーが表示されません。

+0

これは私にとってはうまくいくようです(Chrome 18):http://jsfiddle.net/keLgs/ –

答えて

2

ブラウザでは、「名前」はJavaScriptの予約語(または別のプロパティを使用していること)になっている可能性があります。

このように、引用符に入れて、オブジェクトリテラルの宣言で予約語のためのオブジェクトのプロパティを指定するために:あなたはすべてのあなたの特性を配置する必要はありませんしながら、ということ

var iframe = new Element('iframe', { 
    "name": 'preview_frame', 
    "id": 'preview_frame', 
    "src": 'form/' + formID + '?prev', 
    "allowtransparency": true, 
    "frameborder": 0 
}) 

注意引用符で囲むことができます。 予約語でMozillaのドキュメントを参照してください。Mozilla JS Reserved Words