我使用此代碼來收集數據(),但它不在鉻工作,因爲它是在相反的順序,我怎樣才能使結果匹配。jQuery每個數據()返回不同的結果Firefox與Chrome,如何解決?
這是相同的代碼。我只是通過chrome/firefox獲得不同的resutls,這使得它不能在Chrome中運行。
/* get checked filters */
strJson = '{';
jQuery('.uag-filter-option').each(function() {
if (jQuery(this).hasClass('checked')) {
jQuery.each(jQuery(this).data(), function(i, v) {
strJson += i + ":'" + v + "',";
});
}
});
strJson = strJson.slice(0, -1);
strJson += '}';
alert(strJson);
在Firefox中,我得到:
{sort:\'sortbydate\',method:\'sortby\'}
在Chrome中,我得到:
{method:\'sortby\',sort:\'sortbydate\'}
我怎樣才能得到同樣的結果在Chrome作爲在Firefox?我認爲它是如何在不同的瀏覽器中處理data()?
下面是一個包含錨點的數據:
<a href="#" class="uag-filter-option" data-method="sortby" data-sort="sortbydate">date</a>
有什麼想法嗎?
似乎:
當訪問使用jQuery.data()數據attribues,它們的順序在Firefox和IE被反轉。如何使它在所有瀏覽器中相匹配?
你不應該擔心按鍵順序JSON對象的,因爲你應該根據關鍵 –
所以,你所得到的相同的數據只是元素以不同的順序檢索的價值?如果是這樣,那很重要,只需對結果對象鍵進行排序即可。 –
如果您沒有通過索引號訪問對象值,爲什麼它的順序很重要? 'obj.method'是一樣的。 – sbeliv01