最初の HTML コード:
<div id="content_4" class="content" style="background:url(pic1.gif)"></div>
<div id="content_4_a" class="content" style="background:url(pic2.gif);
display:none"></div>
これはJSコードです:
function getOuterHMTL(element){
return element.outerHTML;
}
function switchDisplayOuter(elementToHide, elementToShow, stringly){
document.getElementsByName(elementToShow).outerHTML=stringly;
document.getElementById(elementToHide).style.display="none";
document.getElementsByName(elementToShow)[0].style.display="";
}
これで、この HTML コードが機能します (クリックすると、div が切り替わり、画像が変わります)。
<area shape="rect" coords="0,252,98,337" onMouseOver="switchDisplayOuter(
'content_4', 'content_4_a', getOuterHMTL('content_4_a) )">
しかし、これではありません:
<area shape="rect" coords="0,252,98,337" onMouseOver="switchDisplayOuter(
'content_4', 'content_4_a', '<div id="content_4_a" class="content"
style="background:url(pic2.gif); display:none"></div>' )">
Firefox でのデバッグ中にエラー コードが表示されるだけです。
Error: SyntaxError: unterminated string literal
'<div id=
関数 getOuterHMTL(element) を使用せずに「プレーンな」文字列リテラルを使用して正しいコードを知っている人はいますか?