4

次の行をHTMLファイルに手動で書き込むと、次のようになります。

<div>
<input type="button" value="Button 1">
<input type="button" value="Button 2">
</div>

新しい行ごとにテキストノードが作成されます。

addEventListenerメソッドのuseCapture引数を理解したかったのです。div要素のchildNodesプロパティを使用してDOM要素にアクセスすることを選択しましたが、要素間のtextNodesを無視する必要があります。これは実際には実用的ではありません。

document.getElementsByTagName("div")[0].addEventListener("click", function(){alert(1);}, true);

document.getElementsByTagName("div")[0].childNodes[1].addEventListener("click", function(){alert(2);}, false);

document.getElementsByTagName("div")[0].childNodes[3].addEventListener("click", function(){alert(3);}, false);

ここでは、2つの入力タグを無視childNodes[0]して選択する必要があることがわかります。childNodes[2]

すべてのHTMLコードを1行だけで記述せず、Javascriptを使用せずに、textNodesの作成をバイパスする方法はありcreateElementますか?

新しい行に移動するときにtextNodesを作成せずにHTMLコードを書くことは可能ですか?

4

3 に答える 3

1

ごめん。唯一の可能性は、PHP、RUBY などのプログラミング言語を使用して HTML コードを生成し、このようなものを追加することです。

<input type="button" value="Button 1"><%-
%><input type="button" value="Button 2">

でも、それはあなたが聞きたい答えではないと思います。

于 2012-04-28T19:07:52.800 に答える
1

新しい行に移動するときに textNodes を作成せずに HTML コードを記述することは可能ですか?

いいえ。

HTMLファイルをクライアントに送信する前に解析しない限り、その解決策はあなたが求めているものではないと思います...

于 2012-04-28T18:57:25.147 に答える