後世のためにここに追加されました。最終的に行った解決策は、ルート jquery オブジェクトをカスタムの解析コードでオーバーライドすることでした。このようなもの:
(function() {
var rootjq = window.jQuery;
var myjq = function(selector, context) {
if(selector.indexOf("::contents") === -1) {
return rootjq(selector, context);
} else {
var split = selector.split("::contents");
var ifrm = split[0];
var subsel = split.splice(1).join("::contents");
var contents = rootjq(ifrm, context).contents();
// Recursive call to support multiple ::contents in a query
return myjq(subsel, contents);
}
};
myjq.prototype = myjq.fn = rootjq.fn;
window.jQuery = window.$ = myjq;
})();
::
css の二重コロン ( ) は疑似要素の選択を意味し、単一コロンは疑似クラスによる選択を意味することに注意してください。