OK、Stackoverflow の長年のユーザーで、初めての質問者です。私は主に CSS/HTML の専門家であり、jQuery の基本しか知らないので、優しくしてください。
ターゲット要素が HTML で使用できない場合でも、なぜこのif
ステートメントがまだ実行されるのですか? この例(コンソール ログを表示) を参照.cta > .btn
してください。ページに何もない場合にも発生します。探すセクションは次のとおりです。
if ( $('.page-template') ) {
}
参照用の作業バージョンは次のとおりです。とにかく読み込みが遅くなるわけではありませんが、バックグラウンドで動作しているものを制限したいと思います。特にwindow resize
、リソースを大量に消費していると聞いています (Paul Irish スクリプトを使用)。
PHP のようなものであれば、まったく起動しないはずです。
アップデート
だから私は、ステートメントis()
と同じ仕事をするif
が、クラスが存在する場合にのみオブジェクトを返すことに出くわしました。したがって、例として次のようにします。
$(function() {
$('.nav-main .active.dropdown').is(
function(){
$(this).children('.dropdown-menu').removeClass('visuallyhidden')
.parents('#menu-primary-navigation').addClass('dropdown-active');
console.log('is fired');
}
);
});
が利用可能な場合にのみ発火し.nav-main .active.dropdown
ます。だから私は(テストされていない)以下もうまくいくと思います:
if ( $('something').is() ) { ... }
更新 #02
!
次のように感嘆符を使用して「ではない」を指定することもできます。
if ( !$('something') ) { ... }