0

文字列を含むいくつかのオブジェクトで構成される配列があります。以下を使用して、配列を正常に表示できます。

<td><p onclick="theMiddle(this)">The Middle</td>

td タグからわかるように、これはテーブルの一部です。問題は、ブラウザが新しいページを開いてテキストを表示することです。テーブルの上の配列をapタグで表示しようとしています。

//JavaScript
var arrayTheMiddle = new Array (showName.theMiddle, beginingTime.theMiddle, 
network.abc, duration.thirty, rating.general, description.theMiddle, showImage.theMiddle);  

function theMiddle(obj){
   for(i=0; i < arrayTheMiddle.length; i++)
     {
      document.write(arrayTheMiddle[i] + "<br>");
     }
}

//HTML File

<p>Would like the array/function displayed here while the user clicks within the table below (entire table has not been listed)</p>

<td><p onclick="theMiddle(this)">The Middle</td>

残念ながら、ID による要素の取得を利用して、配列で構成される関数を呼び出すことに常に失敗しています。私はあらゆる種類のものを探しましたが、率直に言って、私は迷っています. この時点で私のアプローチが正しいかどうかさえわかりません。私はこれが私の頭を吹き飛ばしているそれらの単純なことの1つであると確信しています!

4

1 に答える 1

1

この種の作業を行うには、いくつかの優れた JavaScript フレームワークのいずれかを使用することを強くお勧めします。私は Dojo が好きで、多くの人は jQuery が好きです。

ここには何が機能していないかを確認するのに十分なコンテキストがありませんが、ほとんどの場合、ドキュメントの HTML にテキストを追加するだけの document.write を避ける方がよいでしょう。場合。

あるコンテナ ノードの子ノードを作成したいとします。通常、その目的のためのコンテンツを持たないコンテナ ノードをマークアップに配置します。それを と呼びましょう<div id='container'>

次に、次のようにします (手作業でコード化された DOM 操作をテストするのは面倒ですが、これがアイデアです)。

var container = document.getElementById('container');
for (var m : theMiddle) {
   if (theMiddle.hasOwnProperty(m)) {
      var txt = document.createTextNode(m);
      container.appendChild(txt); 
      var br = document.createNode('br'); // I don't approve of br, but that is not relevant here
      container.appendChild(br);
   }
}
于 2012-11-23T23:02:40.250 に答える