嗨我想调用传递图像的函数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>)
plsease帮助您解决此错误。
答案 0 :(得分:2)
changeDivHTML
要求您将字符串传递给它,但是您忘记了导致错误的分隔符。
<a href="javascript:void(0)" onclick="changeDivHTML('<img src=\''.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'\'>')">
答案 1 :(得分: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>
希望我能帮到你。 =)
答案 2 :(得分:1)
尝试将参数作为字符串传递,如下所示
<a href="javascript:void(0)" onclick="changeDivHTML('<img src='.DIR_WS_IMAGES .$addimages_images[$item]['popimage'].'>')">
不要忘记处理转义字符。
答案 3 :(得分:0)
传递一个字符串(即用引号标记的东西),而不是一些无效的E4X
答案 4 :(得分: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>