2010-09-07 71 views
5

我遇到了編碼字符串的問題,所以我可以放置一個變量到鏈接。我確信這非常簡單,但我無法將任何東西轉向。jQuery encodeURI href不工作

$("a.inquiry").attr("href", "/inquiry/6933/text=" + encodeURI("text o")); 

這是行不通的。

encodeURI("text o") 

仍返回:

link/text o 

相反的:

link/text%20 

也試過:

$("a.inquiry").attr("href", encodeURIComponent("/inquiry/6933/text=" + "text o")); 
+0

正如你用* encodeuricomponent *標記了這個問題,你沒有試過嗎? – Gumbo 2010-09-07 15:28:04

+1

encodeURIComponent應該工作。我已經嘗試過你提供的示例,它似乎工作。看看http://jsfiddle.net/XdJCM/。 – Zafer 2010-09-07 15:39:33

回答

13

嘗試用encodeURIComponent代替。

+2

也可以工作;-(或者它不工作,或者我正在做的其他事情是在之後撤消編碼? – holden 2010-09-07 15:34:23

+0

@holden:它可能是這樣的,'encodeURIComponent'總是爲我工作。 – Sarfraz 2010-09-07 15:36:03

+0

也不與我一起工作,實際上使用逗號而不是空格 – 2014-02-26 12:48:27

6

我以爲我遇到了同樣的問題,但後來我意識到我正在查看結果鏈接的鏈接和地址欄中生成的鏈接的mouseOver。事實證明,我的瀏覽器在兩種情況下都顯示了空格 - 即當我將URI從地址欄中複製出來並粘貼到emacs中時,%20顯示出來了。

+0

哇,這也是我的解決方案。 – user3761308 2017-06-20 14:25:31