2011-02-01 11 views
3

Javascript createElement()はChromeでは動作しませんが、IEとFirefoxではうまく動作します。どうして?JavascriptのcreateElement()がChromeで動作しない

+0

@davidこれは答えであって、コメントではないはずです;-) –

+0

それは何であれ問題を解決しません。これは「近似:実際の問題ではない」問題ではなく、「これは解決策です」問題ではありません。 – Quentin

答えて

2

このコードを使用し、完璧に働いています:

var catDiv = document.createElement("div"); 
catDiv.innerHTML = "Test"; 
document.body.appendChild(catDiv); 

あなたのコードBeacause別の実施例(あなたがHTMLのid = myTableBodyを持つ要素を持っている場合)

var appendingTo = document.getElementById("myTableBody"); 
var tr = document.createElement("tr"); 
tr.setAttribute("name", "i"); 
appendingTo.appendChild(tr); 
+0

私はdocument.createElement( "")のように使いました。私はUncaught Errorというエラーを受け取りました:INVALID_CHARACTER_ERR:DOM Exception 5 – Rekha

+0

@Rekha: 't = document.createElement( 'tr');'と書いて属性を後で設定する必要があるためです。 2番目:テーブルの行には、とにかく 'name'属性がありません。人々が*本当に*あなたを助けることができるようにあなたの質問にあなたのコードを加えるべきです。 –

2

が台無しにされ、 "のcreateElement" には何の問題もありません:

<html> 
    <head> 
     <meta charset = "utf-8"> 

     <title></title> 

     <script> 
      window.onload = function() { 
       for (var i = 0; i < 100; i ++) { 
        var div = document.createElement ("div"); 
         div.style.border = "1px solid black"; 
         div.style.margin = "20px"; 
         div.style.padding = "10px"; 

        document.body.appendChild (div); 
       } 
      } 
     </script> 

     <style></style> 
    </head> 

    <body></body> 
</html> 

enter image description here

0

私の答えはthisです。私も同様の問題がありました。私はcreateElementを使って新しい入力ボックスを作成していて、同じ問題がありました。

3
var name = document.createElement("Div"); 

となります。そして、後であなたが

name.colSpan="2"; 
document.body.appendChild(name); 
のような属性を追加することができます

注:createElement("<div />")ような角度ブラケットを使用しないでください。 Chromeでは動作しません。

編集:上記のコードの構文の問題を修正しました。カンマではなくドットが必要です。

1

また、私はcreateElement()をクロームで使用することもできませんでした。 Caioのポストを読んだ後、私が間違っていたことを理解した上でコードをテストしました。

w3schools.comでは、これらの例は常にというタグ名を使用しています。 createElement("DIV")、それは私がそれを使用していた方法であり、結果は悪いです。

自分のコードで"div""DIV"から変更した後、それはすぐに働きました。

ありがとうCaio。

関連する問題