2016-07-28 5 views
0

特定のページのすべてのdivをループして、 'style'属性のテーマで定義されたURLを探します。私がURLを見つけたら、特定のクラスにCSSを追加したいと思います。私は間違いがない、誰かが私が間違った方向に向かう見てみることができますか?スタイル(url)のクラスにCSSを追加する

コード:

if (top.location.pathname === '/news/') { 
    $j("div").each(function() { 
     if ($j(this).css('background-image') === 'http://daddykate-acc.daddykate.be/wp-content/plugins/js_composer/assets/vc/vc_gitem_image.png') { 
      $j('.vc_gitem-zone').css('display', 'none'); 
     } 
    }); 
} 

リトルPS:$jは、コードワーク(WPテーマ義務)にするために必要とされる

EDIT:[OK]をので、私はちょうど作るために 'のsetTimeout' 関数を使用DOMがロードされた後に実行される関数です。すべてがうまくいきました。すべての入力をありがとう!

+0

'$ jの(この)の.css( '背景画像')===を'url(http://daddykate-acc.daddykate.be/wp-content/plugins/js_composer/assets/vc/vc_gitem_image.png)' '................. ...................................... top.location.pathnameの値をチェックし、 '$(this)).css( 'background-image')' –

+0

'console.log($ j(this).css( 'background-image'))')を使うとどうしますか?デバッグするのは明らかですね。 –

+0

console.logは、奇妙な理由でnoneを返します。おそらく、domがまだロードされていないためですか? @ A.Wolff –

答えて

2

background-imageをお尋ねすると、url("http://...")のようなものが返されるため、ここで確認が失敗します。私はregexまたはindexOfで何かをするでしょう:

if(top.location.pathname === '/news/') { 
    $j("div").each(function() { 
     if($j(this).css('background-image').indexOf('daddykate-acc.daddykate.be/wp-content/plugins/js_composer/assets/vc/vc_gitem_image.png') >= 0) { 
      $j('.vc_gitem-zone').css('display', 'none'); 
     } 
    }); 
} 

そして、ちょうどヒント、あなたがあなたのコードをラップし、$の代わり$jを使用できることをご存知ですか?これは他のページでコードを再利用するのに役立ちます。

あなたはjQueryののready stateでそれを行うことができます。

$j(function($) { 
    $("div").each(function() { /* ... */ }); 
}); 

または生命維持を持つ:

(function($) { 
    $("div").each(function() { /* ... */ }); 
})($j) 
+0

私はそれを見て、更新されます。 –

関連する問題