如何在Javascript中动态引用字符串?

时间:2011-07-11 13:21:12

标签: javascript

这有点好笑,我想引用一个函数的字符串值,但是javascript引发了这个错误Uncaught SyntaxError: Unexpected token }

这是我的代码

var val = "Testing String";
var table_row = "<tr><td><a href='#' onclick='test('"+val+"')'>Row1</a></td></tr>";

function test( val ){
  alert( val );
}

表行被​​创建得很好,测试函数与onClick事件绑定得很好。 但是,当我点击创建的链接时,我得到了

`Uncaught SyntaxError: Unexpected token }

测试函数中的值应该是带引号的字符串。

注意:如果我删除了val字符串的串联,并且传递为像这样的字符串

table_row = "<tr><td><a href='#' onClick='test(\"Testing String\")' >Row1</a></td>";

......它有效

我在哪里玩耍?

加特。

4 个答案:

答案 0 :(得分:1)

然后在原始脚本中也转义"

var test = "\"test string\"";

答案 1 :(得分:1)

我会帮助你先生,,,,

  

如果row1是可变的

     

你可以通过'+Row1+'分隔符添加

     

或直接使用以下代码;

var table_row = '<tr><td><a href="#" onClick="test(\'Testing String\')" >Row1</a></td>';
        //alert("++++++++++++"+table_row+"++++++++++++");

见ya ,,,

答案 2 :(得分:0)

鉴于

var val = "Testing String";
var table_row = "<tr><td><a href='#' onclick='test('"+val+"')'>Row1</a></td></tr>";

table_row不应

"<tr><td><a href='#' onclick='test('Testing String')'>Row1</a></td></tr>"

所以onclick属性只有'test(',因为'结束了吗?

尝试:

var table_row = "<tr><td><a href='#' onclick=\"test('"+val+"')\">Row1</a></td></tr>";

答案 3 :(得分:0)

这就是我所做的,现在工作正常;

var val = "Testing String";
table_row = "<tr><td><a href='#' onclick='test(\""+val+"\")'>Row1</a></td></tr>";

function test( val ){
 alert( val)   // Displays "Testing String"
}

感谢您的耐心等待。