将css添加到带有样式(url)find的类中

时间:2016-07-28 08:48:52

标签: jquery css wordpress

我循环浏览特定网页上的所有div并查找由“#style”样式中的主题定义的网址。属性。如果我找到了网址,我想将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主题义务)

所必需的 编辑:好的,所以我只使用了' setTimeout'函数使DOM在加载后运行。现在一切正常,感谢您的所有投入!

1 个答案:

答案 0 :(得分: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吗?这有助于您在其他页面上重用代码。

你可以使用ready state jQuery:

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

或者使用IIFE:

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