2013-11-22 43 views
0

我正在使用这个使用的innerHTML

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空间

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

我已经试过+ '& NBSP' + + “ ” +
或只是空间和#而不是“#”,但然后链接被集结起来。

我应该怎么做才能使此链接正常工作?

谢谢,

+3

不要使用'或' '或类似的东西。只是一个简单的空间。有了'innerHTML',你可以像添加一个HTML文件一样添加。 –

+0

可以使用撇号而不是转义引号,这可能是您问题的一部分。 –

+0

我已经得到了我自己的答案 s.push('​​' + attribs.MapDisplay + ''); 这一个工作 仍然,不知道什么是错的代码寿 – user2100354

回答

1

尝试使用“%20”时,试图使一个空间。或者你甚至可以像平常一样制作一个固定的空间。

+0

试过这一个以及相同的结果谢谢! – user2100354

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>

+0

感谢但同样的结果tho – user2100354

+0

@ user2100354:不,它的工作原理:http://jsbin.com/uTaNadO/1([source](http://jsbin.com/uTaNadO/1/edit)) –

+0

也许它是我的浏览器问题?当我尝试链接在#结束时不显示onClick – user2100354

1

你可以试试这个,

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

谢谢,但没有工作 – user2100354

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,让我们知道它与你应该有什么不同。

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

+0

有了上面的内容,'onclick'属性将在'''''changeUrl('后面结束。 –

+0

另请参见:向OP询问一个问题,发表对该问题的评论。你还不能这样做,你必须等到你有50以上的代表,但在那之前等待。在*答案中提出问题*并不是在这里完成的。 –

+0

changeURL只是ajax功能(页面更改不刷新) – user2100354