13
var NewRow = document.createElement("<tr><td align='left' valign='top'  width='9%;'  ><img width='32px' height='32px' src='images/" + ProfilePic + "'  /></td><td align='left' valign='Top' ><span class='MsgSpan'>" + Msg + "</span></td><td align='right' align='left' valign='top' style='color:Gray;' >" + Date + "</td></tr>");

エラーが発生します:

InvalidCharacterError: String contains an invalid character

どうすればこれを修正できますか?

4

4 に答える 4

1

最近の回答はうまくいきます。以下に同様の回答が1つあります。ここでは、変更とデバッグが簡単になるように要素を定義しました。

var ProfilePic = "abl.jpg";
var Msg="Hi";
var Date = "June 10, 2010";
function doit() {
   var NewRow ="<tr><td align='left' valign='top'  width='9px'  ><img width='32px' height='32px' src='images/" + ProfilePic + "'  /></td><td align='left' valign='Top' ><span class='MsgSpan'>" + Msg + "</span></td><td align='right' align='left' valign='top' style='color:Gray;' >" + Date + "</td></tr>";
   var element = document.getElementById("tbl_body");
   element.innerHTML +=NewRow;
}

これは私にとって魅力のように機能します..

前のコードの問題は、createElement行を作成し、td次にテキストを作成してから追加する必要がある場所でした。

私はこれがうまくいくことを願っています..

于 2013-08-23T06:43:34.350 に答える
0

これをチェックしてください:

組み込みの DOM メソッドまたはプロトタイプを使用して、HTML 文字列から新しい DOM 要素を作成する

HTML 文字列を createElement メソッドに渡すことはできません。代わりに、上記のリンクに示すように innerHTML プロパティを使用します。

于 2013-08-23T06:57:26.350 に答える
0

私の場合、css クラスを div に追加するときに余分なスペースがありました。

私はこれを持っていた

menuLinksDiv.classList.remove('show-element ');

文字列の後のスペースを削除し、show-elementエラーなし

menuLinksDiv.classList.remove('show-element');
于 2022-01-18T16:26:07.790 に答える