2016-07-28 64 views
0

Im循環遍歷特定頁面上的所有div,並查找由'style'屬性中的主題定義的url。如果我找到url,我想將CSS添加到特定的類。我沒有得到任何的錯誤,有人可以看看我錯了嗎?將CSS添加到帶有樣式(url)的類中找到

代碼:

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主題義務)

編輯:好的,所以我只是用了 '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'和'的值$ j(this).css('background-image')' –

+0

如果使用console.log($ j(this).css('background-image'))',你會得到什麼?似乎很明顯要調試,對吧?! –

+0

console.log由於某種奇怪的原因返回none,可能是因爲dom尚未加載? @ A.Wolff –

回答

2

要求background-image會返回類似url("http://...")的東西,所以你的支票在這裏失敗。我會做一些與regexindexOf

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() { /* ... */ }); 
}); 

或者用IIFE:

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

我會看看它,會讓你更新。 –