Very simple JSFiddle demonstrates the problem(問題を示すためにconsole.log
が使用されているため、デバッグコンソールを表示する必要があります)。 2番目のconsole.logステートメントは空です。それはなるようにコンテキスト要素が指定されているとjqueryフィルタが機能しない
var items = $('li[data-level="2"]', el);
:
var items = $('li[data-level="2"]');
その後、コードは動作します、私は次の行からel
を削除する場合は、コードは動作します。誰がこれがなぜなのか説明できますか? el
を宣言行が欠落していることになる理由を知りません、それはJSFiddleに私のために見せていますが、ここでは、JavaScriptのパネル内のすべてのコードがあります:
$(document).ready(function() {
var el = $('ul');
var items = $('li[data-level="2"]', el);
console.log(items);
var visible = items.filter(':visible');
console.log(visible);
});
削除する前に 'el'とは何ですか? – Esailija
'el'を使う必要があるか、' el'を使う必要はありませんか?私は問題が何であるか混乱している。 – j08691
私は文脈の有無にかかわらず同じ結果を得ています。 2番目のログでは可視要素が吐き出されますが、これはCSSですべて隠してしまったためです。 – Sampson