在其中创建一个包含javascript的链接

时间:2011-12-27 17:59:13

标签: javascript

所以我试图在我的页面中创建一个链接,但由于某种原因它的代码是脱节的

data = data + "<li><a href='#' onclick='History.pushState({state:null},'article,"+rtndata[j].id+"','article'); return false;'>" + rtndata[j].title + "</a></li>";

rtndata [j] .id是一个id号,而rtndata [j] .title是一个标题,都是从数据库中提取的,但是当它在浏览器中呈现时它变为

<a false;'="" return="" article,41','article');="" onclick="History.pushState({state:null}," href="#">Newsflash 5</a>

所以我要呈现的是

<a href="#" onclick="History.pushState({state:null},'article,41','article'); return false;'>"Newsflash 5</a>;

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

onclick属性的值包含在单引号中。因此,如果必须在属性中使用引号,则必须使用"&quot;(仅适用于值)。

由于您的JavaScript字符串包含在双引号(")中,因此双引号必须先转义才能使用:"....onclick='...\"....'....";

要修复您的代码,我决定使用双引号(转义)而不是单引号:

data = data + "<li><a href='#' onclick=\"History.pushState({state:null},'article,"+rtndata[j].id+"','article'); return false;\">" + rtndata[j].title + "</a></li>";

详细表格:

JS string marker     Attribute marker       Valid attribute value markers
      "                \"                   '    &quot;
      "                '                    \"   &quot;
      '                "                    \'   &quot;
      '                \'                   "    &quot;