2

JavaScript によって生成されたハイパーリンクは次のとおりです。

'<a href="#" onClick=passSearchTerm("' +aa + '");>View</a>' 

文字列が次の場合、パラメーターはウェルを渡します。

var aa = 'TAGS(\\"ab\\")'; 

関数内でアラートして確認しました

関数 passSearchTerm(aa) { alert(aa); }

ただし、変数が次のように定義されている場合、これは警告しません。

var aa = 'TAGS(\"ab\")'; //「a」と「b」の間のスペース

そのような文字列を渡す方法を誰かに提案できますか? よろしくお願いします。実際には、次のような文字列を渡そうとしています:

TAGS("a または b")

4

3 に答える 3

3

私はあなたがあなたの脱出を使いすぎたと思います。

これは私のために働きます。

  var aa = 'TAGS("a b")'; 
  // var aa =  'TAGS(\"a b\")'; 

  var e = document.createElement("A");
  e.href = "#";
  e.setAttribute( "onClick", "passSearchTerm('" + aa + "');" );
  e.innerText = "View";

  document.body.appendChild(e);

  function passSearchTerm(p){
    alert(p);
  }

</script>
于 2013-01-09T09:56:38.780 に答える
0
var aa = 'TAGS(\\"a&nbsp;b\\")';

このコードは機能します。これは、html スペースでは次のように記述する必要があるためです。&nbsp;

[アップデート]

これが完全な例です。http://jsfiddle.net/YAJNL/

于 2013-01-09T09:53:32.123 に答える