在我的代码中,我有一个JavaScript函数,其行如下所示:
var header = "<a href='javascript:SortTable(0,'T');'>Name</a>";
出于某种原因,这不起作用。我认为问题是字符串中的单引号或双引号。
我们的想法是将此标题作为列标题插入带有可点击链接的表格中。问题是,(&#39; T&#39;)在这里不起作用。我想用整数和字符参数调用JS函数 SortTable 。
我尝试使用转义字符进行以下操作,而且也无法正常工作。
var header = "<a href='javascript:SortTable(0,\'T\');\'>ATO</a>";
如何使这个长字符串正常工作?
答案 0 :(得分:4)
只是为了记录,另一件可行的事情是
var header = "<a href='javascript:SortTable(0,"T");'>ATO</a>";
JavaScript不会关注HTML实体表示法,但是当HTML解析器将这些内容添加到文档中时。
答案 1 :(得分:3)
使用双引号:
var header = "<a href='javascript:SortTable(0,\"T\");'>ATO</a>";
出于某种原因,这不起作用。我认为问题是字符串中的单引号或双引号。
是。考虑生成的HTML:
<a href='javascript:SortTable(0,'T');'>Name</a>
// ^ ^
// start end
您甚至可以通过语法高亮显示它。现在,通过\
转发它也不起作用。 \
是转义字符JS字符串。 \'
变为'
,因此您会得到相同的结果。
但即使\\'
也无济于事,因为\
不是HTML中的转义字符。
答案 2 :(得分:3)
使用
var header = "<a href=\"javascript:SortTable(0,'T');\">ATO</a>";
有关
<a href="javascript:SortTable(0,'T');">ATO</a>