使用innerHTML时Link中的空格

时间:2013-11-22 16:04:18

标签: javascript hyperlink innerhtml space

我正在使用此

创建链接
    s.push("<tr><td><a href=\"#\"" +'& nbsp'+ "onclick=\"changeUrl('http://url.com/m4.html?bldg=" + attribs.Number + "')\">" + attribs.MapDisplay + "</a></td></td>");

    dojo.byId("tbl").innerHTML = s.join("");

但是出来是

    <a href=#
    http://url.com/m4.html#%20onclick=
    http://url.com/m4.html#&nbsponclick=%22changeUrl(%27http://url.com/m4.html?bldg=1800%27)%22

我试过+'&amp; nbsp'+ +“”+
或者只是空格和#而不是“#”,但是链接会被集中起来。

我该怎么做才能使这个链接正常工作?

谢谢,

4 个答案:

答案 0 :(得分:2)

这就是为什么JavaScript允许您使用'"来引用字符串:

s.push('<tr><td><a href="#" onclick="changeUrl(\'http://url.com/m4.html?bldg=' + attribs.Number + '\')">' + attribs.MapDisplay + '</a></td></tr>');
//     ^--Single quotes      escape this one --^   and this one ------------------------------------^

Live Example | Source


旁注:最后你有</td></td>。我在上面已将其更正为</td></tr>

答案 1 :(得分:1)

尝试制作空格时尝试使用“%20”。或者你甚至可以像往常一样制作一个普通的空间。

答案 2 :(得分:1)

你能试试吗,

 s.push("<tr><td><a href='\#\' onclick=\"changeUrl('http://url.com/m4.html?bldg=" + attribs.Number + "')\">" + attribs.MapDisplay + "</a></td></td>");

答案 3 :(得分:0)

我认为你可能会稍微复杂一点。转义引号是不合法的,因为JS允许您使用单引号或双引号。我打破了它,结束了与T.J相似的答案。克劳德,但它排除了逃脱的引号。

s.push('<tr><td><a href="#" onclick="changeUrl("http://url.com/m4.html?bldg="' + attribs.Number + '")">' + attribs.MapDisplay + '</a></td></td>');

查看从此字符串输出的URL,并告诉我们它与您应该具有的内容有何不同。

编辑:是一个方法吗?我以前没见过,也找不到与之相关的任何内容。