0

我想将元素的默认值存储在该元素的jQuery.data()集合中。既然我做不到...

$("#myElement").data('defaultValue', $(this).html());

...因为$(this)没有给我参考#myElement,最有效的方法是什么?我试图避免像这样两次选择元素:

$("#myElement").data('defaultValue', $("#myElement").html());
4

5 回答 5

2

除了将 jQuery 对象保存在临时变量中之外,没有其他明智的方法:

var $element = $("#myElement");
$element.data('defaultValue', $element.html()); 

一种替代方式,只是一种表达方式,但恕我直言,情况要糟糕得多:

$("#myElement").each(function() { $(this).data('defaultValue', $(this).html()); });
于 2012-06-01T16:17:02.400 回答
1

嗯。

你可以尝试破解它:

$("#myElement").each(function(){$(this).data('defaultValue', $(this).html());});

丑陋

或者喜欢其他帖子:

var $element = $("#myElement");
$element.data('defaultValue', $element.html());
于 2012-06-01T16:18:18.023 回答
0
var el = $("#myElement");
el.data('defaultValue', el.html());
于 2012-06-01T16:16:52.420 回答
0
var myElement = $("#myElement");
myElement.data('defaultValue', myElement.html());
于 2012-06-01T16:17:33.397 回答
0

如果您是性能狂,您可以通过保存对#myElement 的引用来节省纳秒:

var $myElement = $("#myElement");
$myElement.data('defaultValue', $myElement.html());
于 2012-06-01T16:18:04.753 回答