gpt4 book ai didi

javascript - 如何在 JavaScript 中转义单引号或双引号?

转载 作者:行者123 更新时间:2023-11-28 15:24:05 24 4
gpt4 key购买 nike

我试图用\' 替换引号 ('),以转义字符串中的转义引号或双引号

<ul id="list">

</ul>
<button id="sethrefbtn" onclick="setlink();">Set Link</button>

function setlink(){
var data = {
playerID : 102458,
playername: "Real Madrid's cristiano Ronalado"
}
listring= "<li><a href='SearchServlet?q=" + data.playername.replace(/'/g, "\'"); + "&playerid=" + data.playerID + "&page=1#pg0'>"+ data.playername +"</a></li>";

$("#list").append(listring);

}

这是 fiddle :fiddle

所需的输出应该是:

<a href="SearchServlet?q=Real Madrid's cristiano ronalado&playerid=102458&page=1#pg0">Real Madrid's cristiano Ronalado</a>

最佳答案

您的问题是由于它位于 HTML 属性中而引起的(因此您需要将其转换为 HTML 字符引用而不是转义它)。您应该通过使用 DOM 而不是字符串混合来构建 HTML 来解决这个问题。

但是,在这种特殊情况下,您将其放入 URL 中,因此您应该首先将其转义为 URL。

您可以使用 encodeURIComponent 来完成此操作,但由于您正在构建整个查询字符串并使用 jQuery,因此您可以使用 param 来代替。

function setlink() {
var data = {
playerid: 102458,
q: "Real Madrid's cristiano Ronalado",
page: 1
}

var url = "SearchServlet?" + $.param(data);

var li = $("<li />").append(
$("<a />").text(data.q).attr('href', url)
);

$("#list").append(li);

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="list">

</ul>
<button id="sethrefbtn" onclick="setlink();">Set Link</button>

关于javascript - 如何在 JavaScript 中转义单引号或双引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com