0

以下の関数を使用すると、.innerHTML が機能します。リストは、archive_content の ID を持つ ul 要素の下に表示されます。唯一の問題は、li 要素をリンクに変更すると、関数が機能しなくなることです。誰かがこの背後にある理由を知っているかどうか疑問に思っていました.

function art()
{
//Define art content inside list below 
var archive_content =
"<li>hey</li>"+
"<li>hey</li>"+
"<li>hey</li>"+
"<li>hey</li>";

document.getElementById("archive").innerHTML='Drawings';
document.getElementById("archive_content").innerHTML= archive_content;
}

編集:これは私がそれらをリンクに変えてみた方法です

  var archive_content =
"<li><a href="#">hey</a></li>" +
"<li><a href="#">hey</a></li>"+
"<li><a href="#">hey</a></li>"+
"<li><a href="#">hey</a></li>";
4

2 に答える 2

2

二重引用符で囲まれた文字列に二重引用符を使用することはできません。

"lorem "foo" ipsum" // throws a syntax error
"lorem 'foo' ipsum" // OK

JavaScript で文字列をバインドするには、一重引用符を使用します。

var archive_content =
'<li><a href="#">hey</a></li>' +
'<li><a href="#">hey</a></li>' +
'<li><a href="#">hey</a></li>' +
'<li><a href="#">hey</a></li>';
于 2012-08-13T21:08:55.990 に答える
0

hrefと完全な文字列の両方に二重引用符を使用しないでください。これのどちらか:

var archive_content =
'<li><a href="#">hey</a></li>' +
'<li><a href="#">hey</a></li>' +
'<li><a href="#">hey</a></li>' +
'<li><a href="#">hey</a></li>';

またはこれ:

var archive_content =
"<li><a href='#'>hey</a></li>" +
"<li><a href='#'>hey</a></li>" +
"<li><a href='#'>hey</a></li>" +
"<li><a href='#'>hey</a></li>";

問題を修正します。

于 2012-08-13T21:12:03.487 に答える