【发布时间】:2010-12-16 02:29:46
【问题描述】:
如何在 HTML 的事件处理程序中转义双引号?
例如,如何正确转义以下代码中的bar,它是一个字符串文字?
<button onclick="foo("bar")")>Click Me</button>
我不能使用单引号作为属性值,因为我使用的是 XHTML。我可以对字符串文字使用单引号,但我希望保持一致。
【问题讨论】:
标签: javascript html xhtml
如何在 HTML 的事件处理程序中转义双引号?
例如,如何正确转义以下代码中的bar,它是一个字符串文字?
<button onclick="foo("bar")")>Click Me</button>
我不能使用单引号作为属性值,因为我使用的是 XHTML。我可以对字符串文字使用单引号,但我希望保持一致。
【问题讨论】:
标签: javascript html xhtml
<button onclick="foo("bar");">Click Me</button>
而且,您确实可以在 XHTML 中混合它们,在 W3 validator 中试试这个:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>foo</title>
</head>
<body>
<div onclick='bar("foo");'></div>
</body>
</html>
有一些教程说单引号无效,但它们是不正确的。
【讨论】:
&quot; 非常不方便,您可以只使用单引号或在单独的 JavaScript 文件中添加监听器。
XHTML 更喜欢在属性两边加上双引号。但是您仍然可以在值内使用单引号。下面的例子是 XHTML 1.0 Strict
<button onclick="foo('bar')">Click Me</button>
我建议研究 progressive enhancement 并远离行为属性。
【讨论】: