【问题标题】:jQuery extend with key in variablejQuery用变量中的键扩展
【发布时间】:2015-07-04 23:16:05
【问题描述】:

我有这个函数可以用 k="Toto" 在数据中添加键

 $Root = $("#" + n); $Root.data("TFO", $.extend({ k: v }, $Root.data("TFO")));

但是当我看到$Root.data("TFO") 时,我得到的是k 而不是k 中的值

我该怎么做?

【问题讨论】:

    标签: jquery extend


    【解决方案1】:

    看起来无论您的 data-TFO 属性是什么情况,您都必须以小写形式访问它:$Root.data("tfo")

    JSFiddle

    【讨论】:

    • 我的问题不是 tfo 或 TFO。但是k。最后我有 $Root.data("TFO")[k] 而不是 $Root.data("TFO")[Toto"]
    • 抱歉,我仍然没有得到您的问题。您将数据定义为具有“k”键和“Toto”值,因此访问$Root.data("TFO")['k'] 是获取“Toto”的唯一正确方法,您不能这样做$Root.data("TFO")['Toto'],因为“Toto”不是键。
    • k is a variable from function(n,k,v){...} k 不是真名,但里面 (Toto) 是我想要的名字
    【解决方案2】:

    对不起,我在谷歌上更改了我的研究并找到this 然后结果

    function AddK($r, k, v) { var options = {}; options[k] = v; $r.data("TFO", $.extend(options, $r.data("TFO"))); }
    

    【讨论】:

      【解决方案3】:

      试试这个:

       var obj = {};
       obj[ k ] = v; //<--------- VALUE of k will be used here & NOT k
       $Root = $("#" + n); 
       $Root.data("tfo", $.extend(obj, $Root.data("tfo")));
       //or $Root.data()['tfo'] = $.extend( obj, $Root.data('tfo') );
      

      【讨论】:

      • 这正是我在上一篇文章中所说的
      猜你喜欢
      • 1970-01-01
      • 2016-08-15
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多