定位包含特定类 - CSS或jQuery的页面上显示的div ID?都?

时间:2016-04-30 03:46:19

标签: javascript jquery html css wordpress

我对此非常陌生,所以如果我没有正确解释,或者没有提供正确的代码(或提供太多代码),请原谅我。

所以我的页面顶部附近有这段代码:

<div id="javo-detail-item-header-wrap" class="container-fluid javo-spyscroll lava-spyscroll" style="padding: 0px; z-index: 1;">

然后再往下一页:

<div id="post-2355" class="single-item-tab post-2355 property type-property status-publish has-post-thumbnail hentry property_type-ny property_status-sold">

我想从第一行代码中定位#javo-detail-item-header-wrap,但仅当.property_status-sold也在页面上时。

根据我的理解,它的后代无法通过CSS定位元素,对吧?我已经看到网上提到通过用jQuery重命名第一个ID来解决类似情况 - 这是需要做什么的?

如果它不在同一个div中,那么第二个元素甚至是第一个元素的后代吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

jQuery(document).ready(function(){
    var myclass = jQuery(".property_status-sold");
    if(myclass != undefined)
    {
       // Write whatever you want..
       jQuery("#javo-detail-item-header-wrap").show();
    }
});

答案 1 :(得分:0)

如果没有看到完整的代码结构,我会说99%使用纯CSS是不可能的。在JavaScript中执行它应该非常简单:

function getIt() {
  if (document.getElementsByClassName('property_status-sold').length > 0)
    return document.getElementById('javo-detail-item-header-wrap');
}

要获取您的元素,只需调用函数getIt(并给它一个更好的名称) - 它将返回元素引用,如果undefined不是,则返回.property_status-sold找到或由于某种原因缺少实际元素#javo-detail-item-header-wrap

如果你真的非常喜欢jQuery,这里是上面的代码(注意它返回一个jQuery对象,而不是元素引用 - 你可以使用.get(0)来元素引用):

function getIt() {
  if ($('.property_status-sold').length > 0)
    return $('#javo-detail-item-header-wrap');
}

隐藏该元素的快速修复:

jQuery(document).ready(function(){
  if (jQuery('.property_status-sold').length > 0)
    jQuery('#javo-detail-item-header-wrap').hide();
})

这就是你所需要的一切。