2015-04-26 45 views
1

我有这个功能,在K =“托托”数据的jQuery与关键变量

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

但添加关键延长,当我看到$Root.data("TFO")k

得到k,而不是价值我该怎么做?

回答

1

试试这个:

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')); 
+0

这正是我在我上一篇文章中所说的 – YannickIngenierie

0

貌似不管是在你的data-TFO属性,你必须访问小写的情况:$Root.data("tfo")

​​

+0

我的问题不是tfo或TFO。但是k。在最后我有$ Root.data(“TFO”)[k]而不是$ Root.data(“TFO”)[多多] – YannickIngenierie

+0

对不起,我仍然没有得到你的问题。你定义你的数据有'k'的密钥和'Toto'的值如此访问''''Root.data(“TFO”)['k']'''是获得'Toto'的唯一正确方法,而且你不能做'''$ Root.data(“TFO”)['Toto']'''因为'Toto'不是一个键 – dekkard

+0

k是函数(n,k,v){...} k是不是真名,但里面(托托)是我想要的名字 – YannickIngenierie

0

对不起,我改变对谷歌我的调研与发现this 然后导致

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