要添加CSS属性为事业部的特定标签,如果类是foundJQuery

问题描述 投票:0回答:4
<div class="b">
<h1>Hello</h1>
<div class="a">
<p class="ABC">A..........Z</p> //this could be present in some pages
</div>
</div>

这是一段代码中,我想的CSS属性添加到DIV的<h1>与“B”类,如果<p>包含class="ABC"。怎么做?

javascript jquery html
4个回答
0
投票

if($('p').hasClass('ABC')){ $('h1').addClass('b'); }


0
投票

您可以使用标签名称和类之间的点指的元素。

尝试$('div.b p.ABC')的选择:

div.b将选择类b任何DIV

下面空间指示下一个匹配元素(p.ABC)将前一个元素(div.b)的内部。

p.ABC将选择类ABC任何DIV

$('div.b p.ABC').addClass('test');
.test{
  color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="b">
  <h1>Hello</h1>
  <div class="a">
  <p class="ABC">A..........Z</p> //this could be present in some pages
  </div>
</div>

0
投票
$('.b').each(function() {
   var b = $(this);
   var h1 = b.find('h1');
   var p = b.find('div.a p');
   if (p.is('[class="ABC"]')) {
      h1.css({color: 'red'});
   }
});

这个检查确切属性class="ABC"如果你想不区分大小写,您可以使用p.is('.abc')p.hasClass('abc'),如果你想,如果它有ABC类大写,您可以使用is('[class^="ABC "],[class$=" ABC"], [class="ABC"]')


0
投票

您可以使用:

if($(".b p.ABC").length)

要检查是否带班b元素具有p标签作为具有类ABC一个孩子。

然后,您可以使用.css添加CSS到适当的元素(在这里,元素是$(".b h1"))。

请参见下面的工作例如:

if($(".b p.ABC").length) {
  $(".b h1").css({'color': 'red'});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="b">
  <h1>Hello</h1>
  <div class="a">
    <p class="ABC">A..........Z</p> //this could be present in some pages
  </div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.