所以我试图在我的页面中创建一个链接,但由于某种原因它的代码是脱节的
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>;
任何人都可以帮助我吗?
答案 0 :(得分:1)
onclick
属性的值包含在单引号中。因此,如果必须在属性中使用引号,则必须使用"
或"
(仅适用于值)。
由于您的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
" \" ' "
" ' \" "
' " \' "
' \' " "