您现在的位置是:网站首页> 编程资料编程资料
全面解析HTML5中的标准属性与自定义属性详解HTML5 data-* 自定义属性HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)html5的自定义data-*属性与jquery的data()方法的使用HTML5的自定义属性data-*详细介绍和JS操作实例HTML5自定义data-* data(obj)属性和jquery的data()方法的使用HTML5自定义属性的问题分析
2023-10-14
457人已围观
简介 这篇文章主要介绍了HTML5中的标准属性与自定义属性,文中也谈到了JavaScript操作DOM时访问自定义属性的一些相关知识点,非常推荐,需要的朋友可以参考下
正如 HTML5 语法中所阐述的,元素可以包含属性(attributes)给一个元素设置各种属性(properties)。
有些属性被定义为全局的,可以用在任何元素上,而其他的被定义为元素特有的。所有的属性都有一个名称和一个值,看起来如下面的示例所示。
下面是一个使用 HTML5 属性的例子,演示了如何用名为 class 的属性和值 “example” 标记一个 div 元素:
属性只能在起始标签中指定,绝对不能用在结束标签中。
HTML5 属性不区分大小写,可以全部大写或者混合使用,尽管最常见的约定是始终使用小写。
标准属性
下面列出的属性几乎所有的 HTML5 标签都支持。
| 属性 | 选项 | 功能 |
| accesskey | 用户自定义 | 定义访问元素的键盘快捷键。 |
| align | right, left, center | 水平对齐标签。 |
| background | URL | 在元素后面设置一个背景图像。 |
| bgcolor | 数值,十六进制值,RGB值 | 在元素后面设置一个背景颜色。 |
| class | 用户定义。 | 分类一个元素,便于使用级联样式表。 |
| contenteditable | true, false | 定义用户是否可以编辑元素的内容。 |
| contextmenu | Menu id | 为元素定义上下文菜单。 |
| data-XXXX | 用户定义。 | 自定义属性。 HTML 文档的作者可以定义自己的属性。 自定义属性必须以 "data-" 开头。 |
| draggable | true,false, auto | 定义用户是否可以拖动元素。 |
| height | 数字值 | 定义表格,图像或表格单元的高度。 |
| hidden | hidden | 定义元素是否应该可见。 |
| id | 用户定义。 | 命名元素,便于使用级联样式表。 |
| item | 元素列表。 | 用于组合元素。 |
| itemprop | 条目列表。 | 用于组合条目。 |
| spellcheck | true, false | 定义元素是否必须有拼写或错误检查。 |
| style | CSS 样式表。 | 给元素定义内联样式。 |
| subject | 用户定义 id。 | 定义元素关联的条目。 |
| tabindex | Tab number | 定于元素的 tab 键顺序。 |
| title | 用户定义。 | 元素的“弹出”标题。 |
| valign | top, middle, bottom | HTML 元素内标签的垂直对齐方式。 |
| width | 数字值。 | 定义表格,图像和表格单元的宽度。 |
自定义属性
HTML5 还引入了一个新特性,就是可以添加自定义的数据属性。
自定义数据属性以 data- 开头,基于我们的需求命名。下面是一个简单的例子:
...
上面的例子中两个叫做 data-subject 和 data-level 的自定义属性在 HTML5 中是完全有效的。我们还可以使用 JavaScript API 或者在 CSS 中以获取标准属性类似的方式获取它们的值。
在HTML元素中添加自定义属性,通过JavaScript进行访问,如果你之前有尝试过,你会发现,容易忽略标记验证,而HTML5可以为你提供在有效的网页内创建并使用自己的元素属性的功能。
创建HTML5文件:
如果你还没想好要使用哪一个,可以复制下面的代码:
- >
- <
- html
- >
- <
- head
- >
- <
- script
- >
- /*functions here*/
- script
- >
- head
- >
- <
- body
- >
- body
- >
- html
- >
在body中设置自定义元素,在head部分脚本区域利用JavaScript元素进行访问。
创建元素:
首先,添加一些简单的内容和自定义属性以及ID等元素,以便我们能够识别JavaScript示例。
- <
- div id="product1" data-product-category="clothing"
- >
- Cotton Shirt
- div
- >
正如你所看到的那样,自定义属性的形式为:“data-*”,在“data-”部分设定名称或者你选定的名称。在HTML5中使用自定义属性,这是唯一有效的方法。因此,如果你想验证网页是否有效可才采用这种方法。
当然,项目细节部分决定了自定义属性对你是否有用,以及该将其如何命名。这个示例可适用于不同产品类别的零售网站。
自定义属性允许你以一种特殊的方式利用页面内的JavaScript代码来设置元素,例如,动画显示功能。如果没有标准的HTML元素,我们建议使用自定义属性。
添加测试按钮
在页面上利用自身的JavaScript元素即可执行事件,前提是将下面的代码添加到页面中:
- <
- input type="button" value="get attribute" onclick="getElementAttribute('product1')"
- />
获取属性:
在JavaScript中访问属性最常用的方法是使用“getAttributes”,这也是我们要做的第一步。在页面的head脚本区域添加以下函数:
- function getElementAttribute(elemID) {
- var theElement = document.getElementById(elemID);
- var theAttribute = theElement.getAttribute('data-product-category');
- alert(theAttribute);
- }
这里,我们为示例增加了alert 值,当然你也可以根据自身需求在脚本中添加。
获取数据:
你可以使用元素数据集来替代DOM “getAttributes”,这或许更有效,尤其是在某种情况下,代码通过多种属性进行迭代,然而,浏览器对数据集的支持依然非常低,所以牢记这一点,此代码与//后面的方法一样可执行相同的进程。
//var theAttribute = theElement.getAttribute('data-product-category');
var theAttribute = theElement.dataset.productCategory;
从属性名称开始在数据集中删除“data-”,它仍然包含在HTML中。
请注意,如果你的自定义属性名称中有一个连字符,当通过数据访问时这会呈现出camel-case形式,即(“data-product-category” 变成“productCategory”)。
其他模块、函数
我们已经获取该属性,脚本仍然可以设置和删除。下面的代码演示了如何使用标准的JavaScript模块和数据集来设置属性。
- //DOM method
- theElement.setAttribute('data-product-category', 'sale');
- //dataset version
-
相关内容
- 简单整理HTML5的基本特性和语法HTML学习笔记--HTML的语法详解(必看)详解HTML&CSS&JavaScript语法辞典-(专业版) (半场方人) PDF扫描版 93.1Html5 语法与规则简要概述HTML5的语法变化介绍HTML5 新旧语法标记对我们有什么好处HTML语法大全_html语言语法大全(必看)
- HTML5实现预览本地图片 HTML5本地存储之IndexedDBhtml5中localStorage本地存储的简单使用HTML5 LocalStorage 本地存储刷新值还在详解HTML5 LocalStorage 本地存储 html5本地存储 localStorage操作使用详解Html5 web本地存储实例详解深入剖析webstorage[html5的本地数据处理]HTML5本地存储之Web Storage详解HTML5 本地存储 LocalStorage详解HTML5本地数据库基础操作详解
- 疯狂猜成语一个了字等于黑色手掌 答案是什么成语_手机游戏_游戏攻略_
- 疯狂猜成语 拴着铁锁链的罪犯和监狱 答案是什么成语_手机游戏_游戏攻略_
- 疯狂猜成语 石头上一个坚字 答案是什么成语_手机游戏_游戏攻略_
- 全民英雄光法怎么样 光法技能解析_手机游戏_游戏攻略_
- 我叫mt技能++什么意思 技能++的作用是什么_手机游戏_游戏攻略_
- 全民英雄幽鬼怎么样 幽鬼卡牌数据详细介绍_手机游戏_游戏攻略_
- 全民英雄屠胖子怎么样 屠夫属性数据详细介绍_手机游戏_游戏攻略_
- 全民英雄领导力不够快速解决方法 全民英雄领导力不够怎么办_手机游戏_游戏攻略_
点击排行
本栏推荐
