如何在jQuery中转义单引号
How to escape a single quote in jQuery?
我知道我可以使用''',但这不是这里的重点。假设我有"不能"这个词。它现在有"'"。这进入函数中的变量,如下所示:
function active(id,clas,match,hometeam,awayteam){
所以假设主队有"不能"的价值。当我尝试使用此代码时:
$('#test').html(hometeam + " VS " + awayteam);
它不起作用,因为本质上它具有:
$('#test').html(can't + " VS " + awayteam);
我该如何解决这个问题?
编辑:
我认为问题不在于jQuery。调用此函数的行是以下行:
<input type="button" id="btn" value="1.4" class="butta" onmousedown="active('btn','buttdowna','match1','hometeam','awayteam')" />
那么我该如何逃脱呢?
编辑:我还没有找到完美的解决方案,所以我只是更改了数据库中的单词并暂时添加了"''"...
这应该有效。如果内容有双引号,则将字符串括在单引号中,并在其中转义单引号。
var hometeam = '"can''t"';
$('#test').html(hometeam + 'VS' + awayteam)
变量返回的值不需要在javascript中转义。如果您遇到问题,则还有其他一些潜在问题。
编辑:根据您的问题编辑,您将需要转义函数调用中的值,如果您要使用 can't
作为参数之一,则需要
<input type="button" id="btn" value="1.4" class="butta" onmousedown="active('btn','buttdowna','can''t','hometeam','awayteam')" />
问题是你正在使用字符串操作来构建 HTML。改用jQuery/DOM方法,你不会有问题。
另一种方法是转义引号,但与之前的建议相比,这真的很丑陋。
由于您正在用 PHP 创建 HTML,请执行如下操作:
echo '<input type="button" id="btn" value="1.4" class="butta" onmousedown=''active("btn","buttdowna","match1",'.htmlspecialchars(json_encode($foo)).', '.htmlspecialchars(json_encode($bar)).');'' />';
您可以像这样更改 HTML 部分,它将起作用,
<input type="button" id="btn" value="1.4" class="butta" onmousedown=active("btn","buttdowna","match1","can't","awayteam") />
在没有引号的 HTML 属性中也可以工作。报价用于分组。示例)标题="点击事件"将起作用,标题=点击事件将仅采用第一个值(点击)。也就是说,如果一个单词不包含空格,则不需要引用。
相关文章:
- 为ajax调用转义单引号
- 使用JavaScript转义单引号
- 如何在jQuery中转义单引号
- 转义单引号,即在双引号中的单引号
- 在 Javascript 中转义单引号
- 如何在 OData 筛选器 URI 中转义单引号
- ColdFusion/Javascript转义单引号
- 如何在thymelaf和javascript代码中转义单引号
- 如何在javascript中转义单引号、双引号和反弹
- jQuery中姓氏的转义单引号
- C#和JavaScript-转义单引号字符
- Jquery AJAX请求中的转义单引号
- 在jquery . parsexml中转义单引号
- 在Razor's Html.Raw中转义单引号javascript参数
- 如何在JavaScript中转义单引号(')
- 字符串中的转义单引号
- 插入SQLite数据库时难以转义单引号字符
- .NET MVC/Javascript从动态HTML中转义单引号
- 包含标记为无效的转义单引号的 JSON 字符串
- 如何在PHP中转义单引号?