这第一部分是如何工作的?

时间:2011-03-16 21:03:04

标签: jquery

我有jquery的这个片段,我想知道它是如何工作的......我理解keypup,但我不明白的是数据..它是做什么的,

这是我不理解的部分

$('p span').each(function(){
   $(this).data('factor',$(this).text());
})

$('p span').each(function(){
$(this).text(function(){
return $(this).data('factor') * factor;
});
})

似乎是在循环但是为了什么

3 个答案:

答案 0 :(得分:4)

jQuery的data函数将一段数据附加到元素。在第一个块中,您循环遍历跨度,并向每个块添加一个称为“factor”的数据,数据是span的文本。在第二个块中,您将每个范围的文本设置为保存的原始“因子”值乘以factor变量的值。

答案 1 :(得分:1)

它保存了第一部分中的原始值:

$('p span').each(function(){
   $(this).data('factor',$(this).text());
})

然后每当输入发生变化时,它都会计入在开始时设置的单个跨度“因子”的数量。

如果您想要更多$(this).data的解释...请here

答案 2 :(得分:1)

jquery的$ .fn.data函数基本上将对象特定数据附加到元素。它与这样的东西几乎相同:

<span data-factor="something">Text</span>

如果你在这个元素上调用了这个方法,你会得到:

var text = $('span').data('factor');
// text is "something"