以某種方式獲取jquery data()
函數通過ref返回一個對象。如何通過ref禁用jquery數據函數的返回值?
它是在JavaScript的方式指向對象他自己沒有修改裁判的對象?
這裏是我的問題的演示:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var c= console.log ;
$(document).ready(function(e) {
var _data = $("#elem").data();
var _xdata = _data ; // should be a miror object
console.log($("#elem").data());
_xdata.id = "changes applied back to #elem.data object !!!" ;
console.log($("#elem").data());
//any way to separate between $("#elem").data() and _xdata ??
}) ;
</script>
<div id="elem" data-id="1" data-foo="some data"></div>
這不是JavaScript問題它的jQuery的嘗試沒有克隆只是通過引用獲取對象的對象: //應該是克隆對象\ n var _data = $(「#elem」)。data(); \ n _data.id =「將變更應用回#elem.data對象!!!」 ; \ n console.log($(「#elem」)。data()); – foxdanni 2013-05-07 21:10:27
那麼如果你想操縱_data變量,你可以製作它的一個拷貝(不是整個元素,只是你從數據()中重新調用的對象),然後你會沒事的。 – 2013-05-07 21:16:06
反正這解決了我的問題'變種_data \t = jQuery.extend({} $( 「#ELEM」)數據());' – foxdanni 2013-05-07 21:16:16