2011-06-28 124 views
2

完成此操作的正確方法是什麼?在switch語句中有html和變量

var parameter = json.Parameter; 
switch (foo) 
    { 
     case "0" : foo = "There is no link"; 
     break; 
     case "1" : foo = "Here is a link : <a href=\"www.alink.com/?" + parameter + "\">Link B</a>"; 
     break; 
    } 
$("#result").append(foo); 

我試過這個b的方式只是看打印「這是一個鏈接:」,但不是實際的鏈接。

+0

你能告訴我們什麼 「三通」 主張?試圖完成什麼? –

+0

這只是一個任意的變量名稱......一個foo。在我正在使用的實際腳本中,它是一個以xml形式返回的整數。我改變了我的問題,希望它不那麼讓人困惑。 – Zac

+1

我不喜歡編輯人們的代碼來整理它......但你可能想要在那裏拍幾行縮進;-) –

回答

0

嘗試改變'"

foo = "Here is a link : <a href='http://www.alink.com/?" + parameter + "'>Link B</a>" 
+0

您將得到答案..因爲您是最接近的..我只是在我的真實代碼中搞砸了引號。 – Zac

+0

任何你必須添加'http'協議部分的方法 –

3

可以調用相當未知的方法.link(),如:

links = "Here is a link: " + "Link B".link("http://www.google.com"); 

$("#result").append(links); 

這是因爲Netscape Navigator中日跨瀏覽器。但是,我認爲你真正的問題是你沒有引用href屬性的值。但是,您可以使用.link()在這裏罰款。

例子:http://jsfiddle.net/SNHeW/

+0

ahh ..不幸的是,問題出在我的真實代碼中,一個被遺忘的引用! Do ..所以我應該去睡覺..但是..差不多..完成... – Zac

+0

@Sushi K:這就是爲什麼你應該顯示你正在使用的實際代碼。很難通過查看其他代碼來查找代碼中存在的問題,因爲您正在使用其他代碼,因此您沒有使用... – Guffa

0

當我嘗試它,它添加鏈接就好:

http://jsfiddle.net/RsMKP/

您在URL需要http://爲它工作,雖然。

的Javascript:

var foo = '1'; 
var parameter = 'asdf'; 
switch (foo) { 
    case "0" : 
    foo = "There is no link"; 
    break; 
    case "1" : 
    foo = "Here is a link : <a href=\"http://www.alink.com/?" + parameter + "\">Link B</a>"; 
    break; 
} 
$("#result").append(foo); 

HTML:

<div id="result"></div>