1

次のようにボタンを作成するasp.netコードがあります。

<a href="#" id="button1" title="Maximize" onclick="function1('span1')" class="button"><span id="span1" class="iconMaximizeLightText">Maximize</span></a>

今javascriptファイルで、function1関数内で次のことを行っています:

document.getElementById("button1").innerText = "Minimize";
document.getElementById("button1").value = "Minimize";
document.getElementById("button1").className = "iconMinimizeLightText";

私が気づいたのは、次の行の前でした: "document.getElementById("button1").innerText = "Minimize";" "document.getElementById("button1").innerHTML" の値が実行されます

document.getElementById("button1").innerHTML = "<span id=span1 class=iconMaximizeLightText>Maximize</span>"

しかし、その行が実行された後、「document.getElementById("button1").innerHTML」の値は

document.getElementById("button1").innerHTML = "Minimize"

innerText の値だけを変更したのに、なぜ innerHTML の値が変わるのですか?

前もって感謝します。

PS申し訳ありませんが、これはばかげた質問かもしれませんが、私はこの言語を学び始めてまだ数週間しか経っていません。

4

1 に答える 1

0

要素のHTML を設定しますinnerTextinnerHTML違いは、代わりにinnerTextを使用することtextContentをお勧めしますが、 は文字列をエスケープするため、HTML コンテンツを文字列に埋め込むことはできません。

たとえば、これを行った場合:

var div = document.createElement('DIV');
div.innerText = '<span>Hello</span>';
document.body.appendChild(div);

次に、 (スパン内)ではなく、実際に"<span>Hello</span>"画面上に文字列が表示されます。"Hello"

innerText上記で参照した MDN の記事で説明されている、他にもいくつかの微妙な点があります。

于 2014-02-24T21:46:35.650 に答える