使用javascript构建html标记

时间:2012-09-19 11:10:04

标签: javascript html

方案如下: 我调用buldMyStuff函数以下列方式多次构建图像​​。将img包装成“a”标签不是一种选择。

function buildMyStuff(item){
    var tag = <img src="someimg.png" onclick="doClick(' + item.Type + ',' + item.data+ ')" />';
    return tag;
}

function doClick(type,data){
    //do stuff
}

让我们假设item.type值是“type”而item.data值是“data”。 这个问题,当我点击图像时,它说的类型没有定义。因此(我检查了构建的html结构)img最终看起来像这样:

<img src="someimg.png" onclick="doClick(type,data)" />

我需要做的是:

 <img src="someimg.png" onclick="doClick('type','data')" />

然而,由于我使用'字符来包装整个标记而且“字符包装属性我不能使用其他任何东西。有人知道解决方案吗?

提前谢谢你。

3 个答案:

答案 0 :(得分:1)

这是无效的;

var tag = <img src="someimg.png" onclick="doClick(' + item.Type + ',' + item.data+ ')" />';

应该是

var tag = '<img src="someimg.png" onclick="doClick(\'' + item.Type + '\',\'' + item.data+ '\')" />';

答案 1 :(得分:1)

function buildMyStuff(item){ 
    var tag = '<img src="someimg.png" onclick="doClick(\'' + item.Type + '\',\'' + item.data+ '\')" />'; 
    return tag; 
} 

答案 2 :(得分:1)

您可以使用'\'来转义特殊字符。

var tag = <img src="someimg.png" onclick="doClick(' + item.Type + ',' + item.data+ ')" />';

=&GT;

var tag = '<img src="someimg.png" onclick="doClick(\'' + item.Type + '\',\'' + item.data+ '\')" />';