用于某些HTML标记的“生成”属性是什么?

时间:2011-07-20 23:42:03

标签: html

我看到它在HTML标签标签中使用,但我觉得它可以用于大多数HTML标签。我可以猜一下这意味着什么。但我更好奇的是使用它的好处是什么。我试图google一些关于它的参考,但找不到任何,所以我来找你专家。感谢。

示例:

<label for="first_name" generated="true" class="error">This field is required.</label>

2 个答案:

答案 0 :(得分:7)

您可以将它用作JavaScript和/或CSS的钩子。

例如......

CSS

label[generated=true] {
   color: #ccc;
}

的JavaScript

var labels = document.getElementsByTagName('label');

for (var i = 0, length = labels.length; i < length; i++) {
    if (labels[i].getAttribute('generated') === 'true') {
       // Do something.
    }
}

它通常用于JavaScript生成的元素,例如jQuery Validation plugin创建的label元素。

您可以使用jQuery 清理生成的元素...

$('*[generated=true]').remove();

答案 1 :(得分:3)

这是自定义数据用户定义的属性。在您的情况下,它被添加以表示在加载后页面上生成的元素,可能是通过JavaScript。

在繁重的UI / UX Web应用程序中看到其他此类属性是很常见的。它们通常用作技术之间的 hooks - CSS,JavaScript,HTML等。

请注意,此类属性不会验证。如果您使用的是HTML5,则可以使用data-作为前缀,以解决此问题(即data-generated="true")。阅读更多about custom data attributes in HTML5