0

私には小さな苦境があります。SQL応答に基づいて、テーブルセルhtmlを画像に動的に設定しようとしています..以下の私の方法はうまくいきません..

var data = document.createElement("td");

if  (response.getElementsByTagName('status')[i].childNodes[0].nodeValue=='unread') {

    data.setAttribute('id', 'emailunread');
    data.innerHTML="<img src ='/img/unread.png' width='64' height='64'>";
    else {

    data.setAttribute('id', 'emailread'); }
    data = '<img src="img/read.png>'; }

私が間違っているかもしれないアイデアはありますか?

4

2 に答える 2

0

ifステートメントブロックを中括弧で閉じる必要があります。

if (response.getElementsByTagName('status')[i].childNodes[0].nodeValue=='unread') {

    data.setAttribute('id', 'emailunread');
    data.innerHTML="<img src ='/img/unread.png' width='64' height='64'>";
} else {

    data.setAttribute('id', 'emailread');
    data = '<img src="img/read.png>'; 
}

さらに、Bergiが指摘しているように、DOM要素を含む変数をelse句にHTMLで上書きしています。

于 2012-12-15T20:54:48.553 に答える
0

最後の行のinnerHTMLプロパティを使用するのを忘れました。変数を文字列で上書きする代わりに:

data = '<img src="img/read.png>';

あなたが欲しい

data.innerHTML = '<img src="img/read.png>';

また、ブロックが適切に閉じられていないようです}。最後から2番目の行に追加があります。これらのいずれかが単なるc&pの間違いなのか、実際の問題なのかわからない。

ところで、毎回DOMにクエリを実行するのではなく、の値を変数に割り当ててresponse.getElementsByTagName('status')ループする必要があります(これは反復変数だと思います)。i

于 2012-12-15T20:55:07.977 に答える