2016-10-26 8 views
0

でJavaScriptの機能を持っています。return文

リンクをクリックするときに別の機能を呼びたいと思います。つまり、以下のようにリターン文字列を作成したいと考えています。

return "<b></b><a target='_blank' href="#" onClick=\"MyFunction('" + param1 +"', '" +param2+"')\">Wikipedia Entry</a>"; 

上記の問題は何ですか。

+0

あなたも、 ''のhref = "#" で引用符をエスケープする必要があります。 – jojonas

答えて

0

onClickは属性なので、値を引用符で囲む必要があります。

0

param1param2は、文字列を作成する際に使用する変数です。値を連結して引用符で囲む必要があります。

return "<b></b><a href=\"#\" onClick=\"MyFunction('" + param1 +"', '" +param2+"')\">Wikipedia Entry</a>"; 
+0

ありがとうございます。これは動作します(エラーは発生しません)。しかし、文字列 'Wikipedia Entry'はもうリンクとして表示されません。 – user1603842

+0

なぜMyFunction()onclickを呼び出さないのかわかりません。私はmyFunctionで警告を追加しました。返り値 "Wikipedia Entry"のようにすべてのパラメータを削除しました。 https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=widget_extendInfowindowのサンドボックスの例を参照してください。 – user1603842

0

:)

function fn01(){ 
 
    var param1 = "param1"; 
 
    var param2 = 1000; 
 
    
 
    param1 = ' " ' + param1 + ' " '; //<---- add " in param1 
 
    param2 = ' " ' + param2 + ' " '; //<---- add " in param2 
 
    
 
    var body = document.getElementById('link') 
 
    var b = "<b></b><a target='_blank' href='#' onClick='MyFunction("+ param1 +", " + param2 +")'>Wikipedia Entry</a>"; // <--- remove ' out MyFunction 
 
    
 
    body.innerHTML += b + "<br/><br/><br/>"; 
 
} 
 

 
function MyFunction(str1,str2){ 
 
    console.log(str1); 
 
    console.log(str2); 
 
}
a { 
 
    background: #000; 
 
    color:#fff; 
 
    padding:5px; 
 
    }
<a onClick="fn01()" > get a tag</a> 
 
<br/><br/> 
 
<div id="link"> 
 

 
</div>