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