2016-10-29 9 views
-1

"a"タグを作成し、JQueryの.innerHTML関数を使用してdivを追加する関数を持っています。関数onclickを定義しようとすると、パラメータとして文字列を呼び出して渡します。ただし、コードを実行すると文字列が変わり、空白はこれで置き換えられます(= "")。同じ文字列がタグ内の他の場所で使用され、正しく印刷されているために奇妙です。ここに私のコード:JS関数のパラメータとして文字列を追加すると奇妙な出力が発生する

var companies = companyString.split(","); 
var dropDown = document.getElementById('myDropdown'); 

for (var item in companies){ 
    var str = "World Wrestling Entertainment"; //example 

    dropDown.innerHTML = dropDown.innerHTML + "<a href='#' onclick='filterCompany('"+str+"')'>"+str+"</a>"; 
} 

任意のアイデア?

おかげ

このとしてHTMLに吐き出すます:

<a href="#" onclick="filterCompany(" world="" wrestling="" entertainment')'="">World Wrestling Entertainment</a> 
+1

それについては何も変わっていません。 – CBroe

答えて

0

あなただけの引用が少しをマーク混乱しました。これはうまくいくはずです:

var companies = companyString.split(","); 
var dropDown = document.getElementById('myDropdown'); 

for (var item in companies){ 
    var str = "World Wrestling Entertainment"; //example 
    dropDown.innerHTML = dropDown.innerHTML + '<a href="#" onclick="'+'filterCompany('+"'"+str+"'"+')'+'">'+str+'</a>'; 
} 
+0

ありがとう私はあなたの方法でしたが、文字列の引用符はまだ失われていたので、私は"をstrの周りに追加しました。 –

関連する問題