代码之家  ›  专栏  ›  技术社区  ›  Francesca

使用jQuery添加数据变量

  •  -1
  • Francesca  · 技术社区  · 9 年前

    我正在尝试向文档中的元素添加数据属性。准备就绪,以便设置默认加载状态。

    我目前有:

    jQuery(document).ready(function($) {
        $('#menu-primary-navigation li.isMobile').data('status','closed');
    )};
    

    我希望看到以下HTML

    <li class="isMobile" data-status="closed" >foo</li>
    

    然而,我似乎没有看到添加任何数据属性。我在使用吗 .data() 不正确?

    2 回复  |  直到 9 年前
        1
  •  3
  •   Thomas Stringer    9 年前
    $('#menu-primary-navigation li.isMobile').attr('data-status','closed');
    

    这里有一个小jsfiddle来展示它是如何工作的: http://jsfiddle.net/o3mLb53r/

    jQuery data() function 不做你认为的事情,它不属于数据属性。

        2
  •  3
  •   Community Egal    7 年前

    data() 不会添加实际 data-* 当用作 安装工,安装工 。相反,它会

    存储任意数据。。。

    尽管它可以从现有的 数据-* 当用作 吸气剂,吸气剂

    从jQuery 1.4.3开始,HTML5数据属性将自动拉入jQuery的数据对象。

    有关如何执行此操作的更多信息 任意的 数据已存储,请参见 Where is jQuery.data() stored?

    使用 attr() 相反

    $('#menu-primary-navigation li.isMobile').attr('data-status','closed');