我正在使用此(jQuery)将所有<br>
替换为<br />
以清除验证错误:
$("<br>").replaceAll("<br />");
但它不会减少任何验证错误。验证器是否检查原始来源?
答案 0 :(得分:11)
JQuery只会在文档渲染后触发。页面加载的过程将如下所示
我建议您只对所有<br>
代码进行网站范围的查找和替换,并将其替换为<br />
答案 1 :(得分:5)
验证器不运行javascript。他们解析HTML并将其与声明的doctype的模式进行比较。
您需要替换源文件/视图中的<br>
,而不是客户端。
答案 2 :(得分:3)
没有理由这样做。 XHTML已经死了。将您的doctype切换为html 5,然后使用未关闭的标签快乐地返回:
<!DOCTYPE html>
答案 3 :(得分:1)
将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的方式。使用有效的HTML或无效的HTML与JavaScript不会改变这一点。更糟糕的是:即使文档是!
答案 4 :(得分:0)
首先,正如所说的验证器检查html文件,并没有运行任何东西。 在旁边,如果你想让html有效,那么当然还有很多......为什么你不只是使用html编辑器呢?