首页>Program>source

这看起来很简单,但我看不出为什么它不起作用.选择器正确,但div .faqContent 根本没有用 data-height更新 属性。

$('.faqItem .faqContent').each(function(){
    var h = $(this).height();
    $(this).data('height',h);
});

我检查了 var h 是正确的,它在colsole.log中正确地保持了高度.

EDIT 这绝对不是冲突,控制台也不会显示任何错误。

最新回答
  • 1月前
    1 #

    您将无法在元素检查器中看到它,但是它在那里,因为jquery在内部设置了data属性.

    尝试威兹维兹

  • 1月前
    2 #

    console.log($(this).data('height')); 函数使很多人感到困惑,不仅是您. :-)

    data 为元素 data管理jQuery的内部数据对象 威兹威兹 属性.威兹威兹 仅使用 not 属性来设置初始值.它永远不会设置 data-* 元素上的属性。

    如果您想实际设置一个 data 属性,使用 data-*

    data-*
    

    但是,如果您只想将此信息将来使用,请 data-* 很好,只是不要期望在DOM检查器中看到它,因为jQuery不会将此信息写入DOM。

  • 1月前
    3 #

    attr 仅将关联的新值存储在内存中(或内部).它不会更改DOM中的属性,因此您无法使用检查器工具看到它的更新.

    要更改属性,可以使用 $(this).attr("data-height", h);

    data
    

  • 1月前
    4 #

    JQuery .data()将值存储在元素本身上,不会添加属性。

    http://api.jquery.com/data/

    如果要添加属性,请使用attr:

    .data()
    

    http://api.jquery.com/attr/

    .attr()

  • node.js:不建议使用npm wARN [email protected]:不再维护lodash @ <300
  • python:将元组中的列表转换为numpy数组?