代码之家  ›  专栏  ›  技术社区  ›  Josh K

杂项信息HTML元素属性

  •  5
  • Josh K  · 技术社区  · 14 年前

    我一直在用 rel 为了存储一些非html信息,我可以使用哪些其他属性来存储信息?

    8 回复  |  直到 10 年前
        1
  •  5
  •   Gert Grenander Keiron Lowe    14 年前

    你可能想切换到HTML5并使用 custom data attributes .

        2
  •  3
  •   dteoh    14 年前

    在HTML5中,你可以定义自己的 data- 属性来存储你想要的任何东西。

        3
  •  3
  •   Marcus Whybrow    14 年前

    如果你愿意的话,你可以弥补你自己的特点。如果按照规范,数据应该包含一些有意义的内容,那么将数据放入属性中可能不是一个好主意。

        4
  •  2
  •   Chris Morgan    14 年前

    HTML 5 spec ,您可以使用 data-* 属性;它们保证不会对浏览器做任何操作,而且也可以在较旧的浏览器中工作。

    在JavaScript中,可以使用普通属性属性访问它:

    var value = elem.getAttribute("data-foo")
    elem.setAttribute("data-foo", "value")
    elem.removeAttribute("data-foo")
    

    使用新的浏览器 elem.dataset ,但您可能不想这样做,因为较旧的浏览器不支持它。

    var value = elem.dataset.foo;
    elem.dataset.foo = "value";
    elem.dataset.foo = null;
    
        5
  •  2
  •   Bill the Lizard    13 年前

    这个帮助?向下滚动到rel部分:

    http://diveintohtml5.ep.io/semantics.html

        6
  •  1
  •   meinmkv    14 年前

    HTML5现在 supports 将信息存储在数据-*属性中,但这是HTML5,所有人都还没有。所以一个真实的场景。。。

    如果不必担心跨post back持久化,那么可以将简单的数据对象映射为JSON集合var,并基于特定的键从中取出一个对象。但这是一个广泛的方法-更多关于总体目标的信息将改善反馈。

        7
  •  1
  •   Valentin Flachsel    14 年前

    这取决于你想存储什么样的信息,以及你打算如何访问这些信息。我成功地使用了 id 以及 class 例如,存储和访问数据库id的属性,甚至一些数据库表的引用,然后我使用jQuery检索这些属性来执行一些AJAX请求。

    如果你不使用HTML5,我建议你不要使用自己的自定义属性。否则,就像我之前建议的那样,看看 data- 前缀属性。

        8
  •  0
  •   Justin Edmund    14 年前

    如果你能使用HTML5,数据-*是一条路。使用elem.data也可以很容易地在javascript中访问它们*

    否则,自定义属性可能比扭曲页面的语义要好。