ただし、上記の回避策は、jQuery.fn.is() を使用して要素を事前に知られていない合成セレクターと比較し、親コンテナー内の複数の要素と一致する可能性がある場合には適していません。
たとえば、以下の style_get() 内の selectorText が次のようになると、同じ例外がスローされます。
..ホバーが Sizzle.selectors.pseudos または Sizzle.selectors.setFilters で定義されていないため (jquery-2.1.4、1764 行目)。
function style_get(elem) {
var sheets=document.styleSheets;
var css_properties={};
elem=$(elem);
for (var s in sheets) {
var rules=sheets[s].rules || sheets[s].cssRules;
for (var r in rules) {
if (elem.is(rules[r].selectorText)) {
css_properties=$.extend(
css_properties,
css.parse(rules[r].style),
css.parse(elem.attr('style'))
);
}
}
}
return css_properties;
}