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 更改为其他内容。更容易引用文档中已经存在的一些其他 HTML(style="display:none"如果最初必须隐藏,可能会被隐藏)。这是一个例子:

<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 回答