我有一个定义标签是否可见的函数,但是会发生一些奇怪的事情。如果我在Internet Explorer中使用它,则它可以正常工作,但是在chrome中,我会遇到很多错误,我已经尝试过用workarround来模拟逻辑,但是并不能得到相同的结果。
var attrs = new Array();
if (isChrome) {
if (!GUIElm.getAttribute("filteredby")) {
GUIElm.setAttribute("filteredby", new Array());
}
attrs.slice(columnIdx,1);
$(GUIElm).prop('disabled', true);
if (filterObj.filters(value)) {
attrs.push(columnIdx);
GUIElm.setAttribute("filteredby", attrs)
}
GUIElm.style.display = (attrs.length == 0) ? "" : "none";
}
else { //Internet explorer
if (typeof (GUIElm.filteredby) == "undefined") {
GUIElm.setAttribute("filteredby", new Array());
}
GUIElm.filteredby.remove(columnIdx); // accessing the attribute as an object property
if (filterObj.filters(value)) {
GUIElm.filteredby.push(columnIdx);
}
GUIElm.style.display = (GUIElm.filteredby.length == 0) ? "" : "none";
}
谢谢。
答案 0 :(得分:0)
我使用了$ .data(),它具有想要的行为。
$(GUIElm).data('filteredby', []);
$(GUIElm).data('flag', 30292);
$(GUIElm).data('filteredby').slice(columnIdx);