Javascript 字符串不';Don’我不能和double&;单引号

Javascript 字符串不';Don’我不能和double&;单引号,javascript,Javascript,在我的代码中,我有一个JavaScript函数,其行如下所示: var header = "<a href='javascript:SortTable(0,'T');'>Name</a>"; var header=”“; 出于某种原因,这不起作用。我认为问题在于字符串中的单引号或双引号 我们的想法是将此标题作为列标题插入到带有可单击链接的表中。问题是,('T')在这里不起作用。我想用一个整数和字符参数调用JS函数SortTable 我尝试了下面的转义字符,这也不起作用

在我的代码中,我有一个JavaScript函数,其行如下所示:

var header = "<a href='javascript:SortTable(0,'T');'>Name</a>";
var header=”“;
出于某种原因,这不起作用。我认为问题在于字符串中的单引号或双引号

我们的想法是将此标题作为列标题插入到带有可单击链接的表中。问题是,('T')在这里不起作用。我想用一个整数字符参数调用JS函数SortTable

我尝试了下面的转义字符,这也不起作用

var header = "<a href='javascript:SortTable(0,\'T\');\'>ATO</a>";
var header=”“;
如何使这个长字符串正常工作?

使用双引号:

var header = "<a href='javascript:SortTable(0,\"T\");'>ATO</a>";
var header=”“;

出于某种原因,这不起作用。我认为问题在于字符串中的单引号或双引号

对。考虑生成的HTML:

<a href='javascript:SortTable(0,'T');'>Name</a>
//      ^                       ^
//    start                    end

//      ^                       ^
//起始端
您甚至可以通过语法高亮显示看到它。现在,通过
\
转义它也不起作用
\
是JS字符串的转义字符<代码>\'变为
'
,因此得到相同的结果

但即使是
\\'
也没有帮助,因为
\
在HTML中不是转义字符。

使用双引号:

var header = "<a href='javascript:SortTable(0,\"T\");'>ATO</a>";
var header=”“;

出于某种原因,这不起作用。我认为问题在于字符串中的单引号或双引号

对。考虑生成的HTML:

<a href='javascript:SortTable(0,'T');'>Name</a>
//      ^                       ^
//    start                    end

//      ^                       ^
//起始端
您甚至可以通过语法高亮显示看到它。现在,通过
\
转义它也不起作用
\
是JS字符串的转义字符<代码>\'变为
'
,因此得到相同的结果

但即使是
\\'
也没有帮助,因为
\
在HTML中不是转义字符。

使用

var header = "<a href=\"javascript:SortTable(0,'T');\">ATO</a>";
var header=”“;
为了


使用

var header=”“;
为了


为了记录在案,另一件有用的事情是

var header = "<a href='javascript:SortTable(0,&quot;T&quot;);'>ATO</a>";
var header=”“;

JavaScript不会注意HTML实体表示法,但是当这些东西被添加到文档中时,HTML解析器会注意到。

只是为了记录,另一件有用的事情是

var header = "<a href='javascript:SortTable(0,&quot;T&quot;);'>ATO</a>";
var header=”“;

JavaScript不会注意HTML实体符号,但是,当这些东西被添加到文档中时,HTML解析器将。

使用
\'
而不是
'
来解救它们。重复使用
\'
而不是
'
来解救它们。这是我最喜欢的解决方案,因为它创建了最干净的HTML。当HTML标记在属性中使用单引号,然后在内联JavaScript中使用双引号时,我感到很困扰。这是我最喜欢的解决方案,因为它创建了最干净的HTML。当HTML标记在属性中使用单引号,然后在内联JavaScript中使用双引号时,我感到很烦恼。