我使用此代码来收集 data() 但它在 chrome 中不起作用,因为它以相反的顺序出现,我怎样才能使结果匹配。
这是相同的代码。我只是在 chrome/firefox 上得到不同的结果,这使得它在 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() 访问数据属性时,它们的顺序在 Firefox 和 IE 中是相反的。如何解决这个问题以使其在所有浏览器中匹配?