1

こんにちは、画像を渡す関数 changeDivHTML を呼び出したい

   <a href="javascript:void(0)" onclick="changeDivHTML(<img src='.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'>)">

関数は、この画像を特定のIDのdivに追加します。

機能はこれ

 <script language="javascript" type="text/javascript">
                    function changeDivHTML(item)
                    {
                    alert(item);
                        previousInnerHTML = 'item';
                        alert(previousInnerHTML);
                        document.getElementById('image').innerHTML = previousInnerHTML;
                     }
</script>

しかし、画像ブラウザをクリックすると、JavaScriptエラーが表示されます。

Error: invalid XML attribute value
Source File: http://xxx.xxx.xxx.xxx:xxx/product_info.php?products_id=31
Line: 1, Column: 23
Source Code:
changeDivHTML(<img src=images/products/top/product_big1.jpg>)

このエラーを解決する方法を教えてください。

4

5 に答える 5

2

changeDivHTML文字列を渡す必要がありますが、エラーの原因となっている区切り文字を忘れました。

<a href="javascript:void(0)" onclick="changeDivHTML('<img src=\''.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'\'>')">
于 2010-05-14T11:20:01.170 に答える
2

まず、タグとしてではなく、文字列として渡す必要があります! そして、最後に閉じる必要があります。

<a href="javascript:void(0)" onclick="changeDivHTML(\"<img src='.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'/>\")">

次に、スクリプトを次のように変更して、必要な場所にイメージ タグを取得する必要があります。

<script language="javascript" type="text/javascript">
                    function changeDivHTML(item)
                    {                        
                        previousInnerHTML = item;
                        document.getElementById('image').innerHTML = previousInnerHTML;
                     }
</script>

私が助けてくれることを願っています。=)

于 2010-05-14T11:25:17.630 に答える
1

以下のように、パラメータを文字列として渡すことで試してみてください

<a href="javascript:void(0)" onclick="changeDivHTML('<img src='.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'>')">

エスケープ文字の処理を忘れないでください。

于 2010-05-14T11:21:25.800 に答える
0

無効なE4Xではなく、文字列 (つまり、引用符で囲まれたもの) を渡します。

于 2010-05-14T11:19:39.263 に答える
0

リンクをクリックしたときに、DIV の内部 HTML を他のコンテンツに変更しようとしていると思います。style="display:none"ドキュメント内に既にある他の HTML を参照する方が簡単です (最初に非表示にする必要がある場合は、おそらく非表示になります)。次に例を示します。

<div id="div1">Here's div1 <img src="1.png"/></div>
<div id="div2">Here's div2.</div>
<a href="#" onclick="changeDivHtml('div1', 'div2')">Click to Change</a>
<script language="javascript">
  function changeDivHtml(source, target) {
    var elSource = document.getElementById(source)
      , elTarget = document.getElementById(target);
    elTarget.innerHTML = elSource.innerHTML;
  }
</script>
于 2010-05-14T11:26:40.593 に答える