w3c 验证器忽略 jQuery & javascript 更改后的更改

w3c validator ignores changes after jQuery & javascript changes

我有一个网站需要通过 W3C Validator 上的所有错误。我遇到的一些错误与图像的替代文本有关。我写了这篇文章并将其添加到 <head>

<script type="text/javascript">
        jQuery(document).ready(function($) {

            $('img').each(function(){
                var $img = $(this);
                var filename = $img.attr('src');
                $img.attr('alt', filename.substr(filename.lastIndexOf("/") + 1));
            });

        });
</script>

但是,我看到 W3 验证器忽略了我对 javascript 所做的任何更改,并在 javascript 运行之前获取了 HTML 页面。类似的情况是当我用 JS 加载地图时,W3 验证器将其视为空元素。

有没有办法让验证器在检查页面之前等待?

您正在编辑 dom,验证器不检查 DOM,只检查 HTML。每张图片都需要自己添加alt属性。

验证HTML的要点是确保它可以被浏览器和其他工具(例如网络爬虫)正确读取并正确符合HTML规范。当您的代码运行时,这已经发生了,浏览器处理的任何无效内容都已经处理,而浏览器处理的任何无效内容不能 handle 已经阻止了文档被正确解释。那时试图追溯使 HTML 有效为时已晚;已经读过了。

换句话说:您的 img 标签 仍然无效,您所做的只是修复生成的 img 元素 浏览器已创建。

使这些 img 标签 有效的唯一方法是在 HTML 文件本身中将 alt 添加到它们中,使用(如 )有用的内容,而不仅仅是源文件名。