2011-06-28 29 views
2

これを行う正しい方法は何でしょうか?switchステートメントでhtmlとvariableを使用する

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); 

私がこの方法を試したのは、実際のリンクではなく、 "ここにリンクです"と表示されます。

+0

を変更してみてください、あなたは "リンク" が何の略か教えてください。そして、何を達成しようとしていますか? –

+0

これは単なる任意の変数名... a 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); 

を。しかし、あなたのアクチュアリングの問題は、href属性の値を引用していないということでした。しかし、.link()を使ってここでうまくいくことができます。

例:私はそれをしようとするとhttp://jsfiddle.net/SNHeW/

+0

ああ..悲しいことに、問題は私の本当のコード、忘れられた見積もりにありました! Doh ..だから私は寝るべきだ..しかし..ほとんど.. done ... – Zac

+0

@寿司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> 
関連する問題