Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 目标是显示在包含特定类的页面上的div ID-CSS或jQuery?二者都_Javascript_Jquery_Html_Css_Wordpress - Fatal编程技术网

Javascript 目标是显示在包含特定类的页面上的div ID-CSS或jQuery?二者都

Javascript 目标是显示在包含特定类的页面上的div ID-CSS或jQuery?二者都,javascript,jquery,html,css,wordpress,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-ite

我在这方面很新,所以如果我没有正确解释,或者没有提供正确的代码(或者提供了太多),请原谅我

因此,在我的页面顶部,我有以下代码:

<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\u status-sell
也在页面上时

据我所知,不可能通过CSS将某个元素的子元素作为目标,对吧?我在网上看到有人提到,通过使用jQuery重命名第一个ID可以解决类似的问题——这就是我们需要做的吗

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

试试这个:

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

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

如果看不到完整的代码结构,我会说99%使用纯CSS是不可能的。使用JavaScript进行此操作应该非常简单:

function getIt() {
  if (document.getElementsByClassName('property_status-sold').length > 0)
    return document.getElementById('javo-detail-item-header-wrap');
}
要获取元素,只需调用函数
getIt
(并给它一个更好的名称)-如果未找到
.property\u status-sall
,或者由于某种原因缺少实际元素
#javo detail item header wrap
,它将返回元素引用或
未定义的


如果您真的那么喜欢jQuery,下面是上面的代码(请注意,它返回的是jQuery对象,而不是元素引用-您可以使用
.get(0)
来返回元素引用):


隐藏该元素的快速修复方法:

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

这就是您所需要的。

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

function getIt() {
  if (document.getElementsByClassName('property_status-sold').length > 0)
    return document.getElementById('javo-detail-item-header-wrap');
}
要获取元素,只需调用函数
getIt
(并给它一个更好的名称)-如果未找到
.property\u status-sall
,或者由于某种原因缺少实际元素
#javo detail item header wrap
,它将返回元素引用或
未定义的


如果您真的那么喜欢jQuery,下面是上面的代码(请注意,它返回的是jQuery对象,而不是元素引用-您可以使用
.get(0)
来返回元素引用):


隐藏该元素的快速修复方法:

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


这就是您所需要的。

属性_status-seld
#javo detail项目标题包装的子项
?我不是肯定的,它在Chrome Inspect元素中位于它的下方,但没有嵌套在它里面,所以这是否意味着它不是它的子项?这是有问题的页面-我试图隐藏的是灰色的粘条。你只需使用
jQuery选择器
并测试它们的
length
属性就可以了。@Rayon我15分钟前写的。@Shomz,我13分钟前评论过它。。我没有看到您代码的
jQuery
版本。
.property\u status-sall
#javo-detail-item-header-wrap
的子项吗?我不是肯定的,它在Chrome-Inspect元素的下面,但没有嵌套在其中,这是否意味着它不是它的子项?这是有问题的页面-我试图隐藏的是灰色的粘条。你只需使用
jQuery选择器
并测试它们的
length
属性就可以了。@Rayon我15分钟前写的。@Shomz,我13分钟前评论过它。。我没有看到你的代码的版本。那么你想检查什么呢。属性_status-seed是否可用?是否为空?
$('.property _status-seld')。长度将有所帮助!那你想查什么。属性_status-seed是否可用?是否为空?
$('.property _status-seld')。长度将有所帮助!这并不是说我特别喜欢jQuery(或者很了解它),我只是凭我有限的知识猜测它是处理这个问题的最好方法——但也许不是?很抱歉,我不明白-那么a如何将我的CSS应用于该函数?简单的JS速度要快得多,但既然您已经在使用jQuery,请继续使用它。理想情况下,您可以使用一组要应用于元素的规则定义一个CSS类,然后只需执行
var el=getIt();if(el)el.addClass('myClassHere')。。。如果您只是想隐藏它,请使用
el.hide()
。注意,在您的网站上,将美元符号
$
替换为
jQuery
。谢谢-但我想我可能夸大了我对jQuery的了解…大约为零。就我所知,我只知道函数在后端应该放在哪里,但对手工制作却一无所知。只需复制我答案中的最后一段代码,但将美元符号替换为
jQuery
(这就像:
if(jQuery('.property\u status…等
),然后根据您想对元素执行的操作来执行上面我的注释中的代码,我只是用我有限的知识猜测这是处理这个问题的最好方法-但也许不是?很抱歉,我不明白-然后a如何将我的CSS应用于该函数?简单的JS速度要快得多,但既然你已经在使用jQuery,就继续使用它。理想情况下,你应该定义一个CSS类,其中包含一组你想应用于ele的规则,然后只需执行
var el=getIt();if(el)el.addClass('myClassHere');
…如果您只想隐藏它,请使用
el.hide()
取而代之。请注意,在您的网站上将美元符号
$
替换为
jQuery
。谢谢-但我想我可能夸大了我对jQuery的了解…大约为零。因为我的知识仅限于我知道该函数在后端应该放在哪里,但实际上与制作它无关。只需复制一下我的答案中的st代码片段,但将美元符号替换为
jQuery
(因此类似于:
if(jQuery('.property\u status…etc
),然后只需执行上面我的注释中的代码,根据