带有数据属性的HTML验证错误

时间:2012-06-29 09:35:58

标签: html facebook validation

我从http://validator.w3.org收到验证错误,如下所示

1)错误行136,第34列:没有属性“data-href”

2)错误行136,第259行:没有属性“data-send”

3)第136行,第259栏:没有属性“data-send”

4)第136行,第278行:没有属性“数据布局”

5)第136行,第304列:没有属性“data-width”

6)错误行136,列326:没有属性“data-show-faces”

我的代码是

<div class="fb-like"  data-href="{$url->job($details.jkey,$details.seocountry,$details.seocity,$details.seoindustry,$details.seojobtitle,$details.seoqulurl,$details.seojobSubCatagory)}" data-send="true" data-layout="button_count" data-width="100" data-show-faces="true"></div>

请帮我解决这些错误。 提前致谢

6 个答案:

答案 0 :(得分:4)

我猜你使用了错误的doctype。确保您的文档以:

开头
<!doctype html>
除非您使用HTML5文档类型,否则

data-* attributes无效。

此外,这些看起来像HTML验证错误,而不是CSS。

答案 1 :(得分:3)

从HTML中删除数据属性。然后在调用facebook之前使用javascript添加属性。

以下是使用jQuery的示例:

<div id="fb-root"></div>
<div class="fb-like"></div>

var jQueryFBLike = $(".fb-like");
jQueryFBLike.attr("data-send", "false");
jQueryFBLike.attr("data-layout", "button_count");
jQueryFBLike.attr("data-width", "85");
jQueryFBLike.attr("data-show_faces", "false");

(function(d){
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js#appId=&xfbml=1";
    ref.parentNode.insertBefore(js, ref);
}(document));

答案 2 :(得分:2)

更改您的文档类型。

示例代码:

<!DOCTYPE html>
<html>
<head>
<title>sample</title>
</head>
<body>
<div class="fb-like"  data-href="{$url->job($details.jkey,$details.seocountry,$details.seocity,$details.seoindustry,$details.seojobtitle,$details.seoqulurl,$details.seojobSubCatagory)}" data-send="true" data-layout="button_count" data-width="100" data-show-faces="true"></div>
</body>
</html>

答案 3 :(得分:2)

<div class="fb-like" data-href="http://www.facebook.com/pages/Your-Page" data-send="false" data-width="350" data-show-faces="false" data-font="arial"></div>

for XHTML Transitional替换为:

<script language="javascript" type="text/javascript">

//<![CDATA[

document.write('<div class="fb-like" data-href="http://www.facebook.com/pages/Your-Page" data-send="false" data-width="350" data-show-faces="false" data-font="arial"><\/div>');

//]]>

</script>

for HTML 4.01 Transitional不要忘记转义&lt; / div&gt; manualy,替换为:

<script type="text/javascript">
document.write('<div class="fb-like" data-href="http://www.facebook.com/pages/Your-Page" data-send="false" data-width="350" data-show-faces="false" data-font="arial"><\/div>');
</script>

答案 4 :(得分:1)

它还会使用短标签引发错误!经过大量的谷歌搜索后,我将CDATA附带的JavaScripts与4.01一起使用。

答案 5 :(得分:0)

您可以使用:

        <script type="text/javascript">                (function(d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0];
                if (d.getElementById(id)) return;
                js = d.createElement(s); js.id = id;
                fjs.parentNode.insertBefore(js, fjs);
            } (document, 'script', 'facebook-jssdk'));</script>
         <script language="javascript" type="text/javascript">
            //<![CDATA[
             document.write('<div class="fb-like" data-href="https://www.facebook.com/virtualservicez" data-layout="button" data-action="recommend" data-show-faces="true" data-share="false"></div>');
             //]]>
        </script>

适用于我的网站