2013-11-22 85 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