我正在使用这个(jQuery)替换所有<br>
s<br />
以清除验证错误:
$("<br>").replaceAll("<br />");
但它不会减少任何验证错误。验证器是否检查原始来源?
我正在使用这个(jQuery)替换所有<br>
s<br />
以清除验证错误:
$("<br>").replaceAll("<br />");
但它不会减少任何验证错误。验证器是否检查原始来源?
JQuery 只会在文档被渲染后触发。页面加载的过程将如下所示
我建议只对所有<br>
标签进行站点范围的查找和替换,然后将它们替换为<br />
验证器不运行 javascript。他们解析 HTML 并将其与声明的 doctype 的模式进行比较。
您将需要<br>
在源文件/视图中而不是在客户端替换。
没有理由这样做。XHTML 已死。将您的文档类型切换为 html 5,然后愉快地使用未封闭的标签:
<!DOCTYPE html>
HTML 被解析为 DOM 模型(Gary 帖子中的第 3 步),其中<br>
和<br />
被认为是相等的。通过 JavaScript 向 HTML 页面添加元素,无论您使用 jQuery 还是任何其他方式,都会解析您的元素并将其添加到 DOM。对于浏览器而言,内部 HTML 的外观不再重要。
如果您使用innerHTML
. 将以下内容放在任何 HTML 文档中(不管是 XHTML、HTML4 还是 HTML 3.2):
<p onclick="alert(this.innerHTML);">BR: <br />self close</p>
<p onclick="alert(this.innerHTML);">BR: <br>open</p>
<p onclick="alert(this.innerHTML);">BR: <BR>open capitals</p>
将其加载到浏览器中并单击它。
在 IE 上,所有三个变体都显示为"<BR>"
,在 FF、Chrome、Opera 上,所有三个变体都显示为"<br>"
. 这就是浏览器在内部表示 HTML 的方式。在 JavaScript 中使用有效的 HTML 或无效的 HTML 不会改变这一点。更糟糕的是:内部 HTML 表示不是有效的 XHTML,即使文档是!
首先,正如已经说过的,验证器检查 html 文件,并且不运行任何东西。此外,如果你想让 html 有效,当然还有更多
……你为什么不直接使用 html 编辑器呢?