将带有空格字符的字符串作为参数传递给javascript生成的on-click函数

将带有空格字符的字符串作为参数传递给javascript生成的on-click函数,javascript,html,Javascript,Html,我的JavaScript生成的超链接如下: 我通过在函数内部发出警报确认了这一点 函数passSearchTerm(aa) { 警报(aa); } 但是,当var定义如下时,这不会发出警报: var aa='标记(\'a b\')//“a”和“b”之间的空格 有谁能建议我如何传递这样的字符串吗?提前感谢你的帮助。 实际上,我正在尝试传递以下字符串: 标签(“a或b”) 这个代码确实有效。这是因为在html空间中应该写成 [更新] 下面是完整的示例 我想你只是过度使用了你的逃跑方式 这对我有用

我的JavaScript生成的超链接如下:

我通过在函数内部发出警报确认了这一点

函数passSearchTerm(aa) { 警报(aa); }

但是,当var定义如下时,这不会发出警报:

var aa='标记(\'a b\')//“a”和“b”之间的空格

有谁能建议我如何传递这样的字符串吗?提前感谢你的帮助。 实际上,我正在尝试传递以下字符串:

标签(“a或b”)

这个代码确实有效。这是因为在html空间中应该写成

[更新]


下面是完整的示例

我想你只是过度使用了你的逃跑方式

这对我有用

  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>

var aa='TAGS(“ab”);
//var aa='标记(\'a b\');
var e=document.createElement(“A”);
e、 href=“#”;
e、 setAttribute(“onClick”、“passSearchTerm(““+aa+”);”);
e、 innerText=“查看”;
文件.正文.附件(e);
函数passSearchTerm(p){
警惕(p);
}

通过javascript生成ur超链接时,请使用encodeURIComponent 前


你能在A中复制这个吗?你的方法<代码>标签>代码>什么?标签也是我想通过的字符串的一部分,就像考虑另一个STATION而不是var A=‘Apple(\“A或B’”)@ thice一样,标签也是其中的一部分。string@THiCE:标签()返回的内容与此无关。这里的问题是如何传递标签(“a或b”)“到内联onclick。不,不应该!阅读并@Adrian:你应该使用提问者提供的代码。这是完整的代码示例。你是说代码中有错误吗?错误在于错误地转义了各种嵌套的"或"人物"。说你应该使用一个不间断的空间,这看起来是错误的。修复逃逸更有用,“看起来”更好。如果你修复了转义符,那么代码就可以使用规则空格或。。。尽管我仍然认为使用规则空格是正确的,因为后续的字符串解析可能会遇到错误。空间在内部编码为/u0020和/u00A0。
var aa = 'TAGS(\\"ab\\")'; 
var aa = 'TAGS(\\"a&nbsp;b\\")';
  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>
"<a href=\"#\" onclick=\"passSearchTerm('" + encodeURIComponent(aa) + "')\">View</a>"
function passSearchTerm(aa) { alert(decodeURIComponent(aa)); }