如果找到类,则为Div的特定标签添加css属性

时间:2019-02-03 11:45:54

标签: javascript jquery html

<div class="b">
<h1>Hello</h1>
<div class="a">
<p class="ABC">A..........Z</p> //this could be present in some pages
</div>
</div>

这是一段代码,如果<h1>包含<p>,我想在其中将css属性添加到具有类“ b”的div的class="ABC"中。 怎么做?

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以使用:

If( !( code ==1 || code == 2 || code == 3 || code == 4))

要检查类别为if($(".b p.ABC").length) 的元素是否具有b标签作为具有类别p的子元素。

然后您可以使用ABC将css添加到适当的元素(这里的元素为.css)。

请参见下面的工作示例:

$(".b h1")
if($(".b p.ABC").length) {
  $(".b h1").css({'color': 'red'});
}

答案 2 :(得分:0)

您可以在标签名称和类之间使用 dot 来引用元素。

尝试使用DueLoan.find_by_sql(["select d.id dueid, d.issue_loan_id, d.duedate, d.dueamount, sum(ifnull(amount, 0))paid, dueamount - sum(ifnull(amount, 0))balance from due_loans d left join payments p on d.id = p.due_loan_id where d.issue_loan_id = ? group by dueid", params[:issue_loan_id]]) 作为选择器:

$('div.b p.ABC')将选择类div.b的任何div

以下空格表示下一个匹配的元素(b)将在前一个元素(p.ABC)内。

div.b将选择类p.ABC的任何div

ABC
$('div.b p.ABC').addClass('test');
.test{
  color: red;
}

答案 3 :(得分: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');如果要区分大小写,则可以使用is('[class^="ABC "],[class$=" ABC"], [class="ABC"]') < / p>