2016-10-03 19 views
0

画像の配列から10行の行を持つJavaScriptテーブルを作成しようとしていますが、運がありません。テーブルは機能しますが、各セルには画像の代わりに[オブジェクトHTMLImageElement]があります。Javascript:配列の画像をテーブルに埋め込む

私が試したコードは以下のとおりです。あなたのコードからこれらの二行で

for(var i=0; i<myArray.length; i++){ 
    myArray[i] = new Image(); 
    myArray[i].src = i + '.gif'; 
} 

document.writeln('<table border = 1 >'); 
for(var j=0; j<myArray.length; j++){ 
    if(j%10==0 && j!==0){ 
    document.writeln('</tr><tr>'); 
    } 
    document.writeln('<td >' + myArray[j] + '</td>'); 
} 
document.writeln('</tr></table>'); 

答えて

2

ルック:

myArray[i] = new Image(); 

document.writeln('<td >' + myArray[j] + '</td>'); // wrong - myArray has to be a string 

だから、myarrayのは画像ですが、2行目に、あなたはそれの文字列にするためにしようとしている - "<td>" + myArray[j] + "<td>" - このオブジェクトではなく文字列を連結する方法です。あなたが必要なもの

は、myarrayの[i]は、IEのいずれかに設定src属性を持つ<img>タグを表示することです - (「htmlImageElement」またはものは何でも、この場合には、myarrayの[i]は、暗黙的に文字列に変換されます) :

$(document.createElement('table')); 
var result = ""; 
for (let i = 0; i < myArray.length; i++){ 
    result+= '<tr><td><img src="' + myArray[i] + '" alt=""/></td></tr>' 
} 
$('#table').append(result); 

またはこの:これを行うには

document.writeln('<td ><img src="' + myArray[j].src + '" /></td>'); 
0

一つの方法はこれです

$(document.createElement('table')); 
var result = ""; 
myArray.map(function(item){ 
    result+= '<tr><td><img src="' + item + '" alt=""/></td></tr>' 
}) 
$('#table').append(result); 
+0

ありがとう、ありがとう、私は文字列対オブジェクトの説明(私は思う)を取得するので、その行を修正しました。私が今取得するのは、画像の代わりに壊れた画像のアイコンの表ですので、私は近くにいなければなりませんが、道に沿って何かを見逃しています。任意の提案を大いに感謝します。 – shep

+0

もちろん、私は常に上記のように.srcを含めることができ、それは完全に動作します。今解決されました、多くのありがとうございます。 – shep

+0

お役立ち情報あなたは私の答えを受け入れてくれますか?また、私は私のソリューションを試して、私は壊れた画像を取得していない、あなたはまだmyArray [i] = new Image()を使用しましたか?これは必ずしも必要ではないので、myArrayの内部はイメージURLの束です。 – kevguy

関連する問題