繁体   English   中英

“此时元素div上不允许使用属性名称”

[英]“Attribute name not allowed on element div at this point”

我收到一个W3V验证器错误,我无法理解:

第31行,第61列:此时元素div上不允许使用属性name

这就是这一行:

<div name="message" class="jGrowl bottom-right errorGrowl"></div>

完整的HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>jGrowl</title>

        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>     
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>

        <script type="text/javascript" src="data/awo-jgrowl.js"></script>
        <script type="text/javascript" src="data/shortcut.js"></script>

        <link rel="stylesheet" type="text/css" href="data/awo-jgrowl.css">

        <script type="text/javascript">
            $(document).ready(function() {
                $('div[name=message]').awomsg('Input message', {sticky: true});
            });

            shortcut.add("m",function() {
                $('div[name=message]').awomsg('Input message', {sticky: true});
            });

            shortcut.add("h",function() {
                alert('ur doin it wrong');
            });
        </script>

    </head>
    <body>
        <div name="message" class="jGrowl bottom-right errorGrowl"></div>
    </body> 
</html>

我找到了一些来自:

标记验证错误:“此时元素上不允许使用属性名称”错误#HTML5

如果您打算定义自定义属性,则必须在属性前添加“ data- ”。

所以在这种情况下,名称将是: data-name=""

你可以用'div[data-name="value"]'来引用它。

错误消息似乎很自我解释。 您不能在div标签上使用name属性。 所以你的代码看起来像这样:

<div id="message" class="jGrowl bottom-right errorGrowl"></div>

然后使用id选择器:

$('div#message')...

div元素没有name属性。

如果要唯一标识一个,请使用id

如果要将one标记为组的成员,请使用class

您可以使用name属性(尚未弃用)的唯一位置是表单控件( inputselecttextareabutton )。

这是一个迟到的回复,但由于此页面刚出现在搜索中:

由于某些元素上不允许使用name属性,并且在您可能不需要的表单中具有特殊意义,但任何以“data-”开头的属性名称都可以用于您自己的目的,我建议使用“数据名称” “属性,像这样:

<div data-name="message" class="jGrowl bottom-right errorGrowl"></div>

然后你可以写:

$('[data-name="message"]').text("Here is a new message!");

否则通过jQuery操纵div。

数据属性的使用具有以下优点:它不太可能与您的前端设计人员为CSS目的使用ID和类名进行冲突。

在我们的办公室,我们了解到ID和类是为CSS保留的,JavaScript开发人员应该不管他们。 相反,前端设计人员可以更改大多数事物的ID,类甚至元素类型,只要它们不会混淆数据属性。

name属性不是DIV元素规范的一部分。 一般来说, name仅对表单元素有效。

请参阅: http//www.w3schools.com/tags/tag_div.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM