【问题标题】:What are "data-url" and "data-key" attributes of <a> tag?<a> 标签的“data-url”和“data-key”属性是什么?
【发布时间】:2013-08-16 03:33:40
【问题描述】:

我遇到了 html 标签 的两个奇怪属性。它们是“data-url”“data-key”

它们是什么以及如何使用它们?

由于某些原因,我无法显示我在其中找到它们的 HTML 文件的确切示例,但这里有一些来自网络的带有此类标签的示例:

  1. data-key
  2. data-key
  3. data-url

PS:我试过谷歌,但没有找到有用的结果。

【问题讨论】:

  • 您是一般要求 HTML5 data- 属性还是特别要求这些属性?如果是后者,您需要提供更多上下文,因为它们是任何人都可以创建的自定义属性。
  • 查看此参考资料link。这个属性开头是data-*,名字“key”或者“url”其实是我们自己自定义的。

标签: html dom web


【解决方案1】:

什么时候应该使用数据属性?

自定义数据属性旨在存储页面或应用程序私有的自定义数据,没有更合​​适的属性或元素。


这次用data属性来表示通知气泡的气泡值。

<a href="#" class="pink" data-bubble="2">Profile</a>

此时间用于显示工具提示的文本。

<a href="#" class="tooltip" data-tip="this is the tip!">This is the link</a>

什么时候不应该使用数据属性?

我们不应该将数据属性用于任何已经建立或更合适的属性。例如不适合使用:

<span data-time="20:00">8pm<span>

当我们可以在如下时间元素中使用已经定义的datetime 属性时:

<time datetime="20:00">8pm</time>

通过 CSS 使用数据属性 (Attribute selectors)

[data-role="page"] {
  /* Styles */
}

在 jQuery 中使用数据属性 (.attr())

<a href="http://www.google.com" class="button" data-info="The worlds most popular search engine">Google</a>
$('.button').click(function(e) {
   e.preventDefault();
   thisdata = $(this).attr('data-info');
   console.log(thisdata);
 });

来自here的示例和信息

【讨论】:

    【解决方案2】:

    那些被称为HTML5 Custom Data attributes

    自定义数据属性旨在存储私有数据 没有更合适的页面或应用程序 属性或元素。这些属性不适用于 独立于使用属性的站点的软件。 每个 HTML 元素都可以有任意数量的自定义数据属性 指定,具有任何值。

    在谷歌上找不到是因为这些属性是用户为自己使用而生成的自定义属性

    从您的代码看来:

    • 编写此代码的人想要存储一些额外的 与元素的信息。不确定他是否可以处理这个问题 Javascript 也是。

    • 你应该做的是彻底检查Javascript代码, 他是否正在处理这些数据属性,或者如果可能,请检查 和他一起。

    • 由于您的代码使用jQuery 库,请检查.data() 方法。经过完整的代码审查,如果你发现它没有用, 然后随意删除。

    【讨论】:

      【解决方案3】:

      data-* attributes 用于将任意数据添加到元素中,仅供托管 HTML 的站点上运行的代码(通常是客户端 JavaScript)使用。

      为了说明您给出的三个示例的用途,我们必须对它们附带的代码进行逆向工程(除非它们在网站上记录),因为它们没有标准含义。

      【讨论】:

        【解决方案4】:

        HTML 5 中引入的一项新功能是添加了自定义数据属性。简单地说,自定义数据属性的规范规定,任何以“data-”开头的属性都将被视为私有数据的存储区域(私有的意思是最终用户看不到它——它不会影响布局或演示文稿)。这允许您编写有效的 HTML 标记(通过 HTML 5 验证器),同时在您的页面中嵌入数据。一个简单的例子:

        <li class="user" data-name="John Resig" data-city="Boston" data-lang="js" data-food="Bacon"> <b>John says:</b> <span>Hello, how are you?</span> </li>

        【讨论】:

          猜你喜欢
          • 2013-11-19
          • 1970-01-01
          • 2015-08-05
          • 1970-01-01
          • 2013-07-09
          • 2023-03-09
          • 1970-01-01
          • 1970-01-01
          • 2011-11-01
          相关资源
          最近更新 更多