如果另一个元素为空,如何向元素添加一个类?

时间:2016-08-06 03:45:38

标签: javascript jquery

我正在尝试删除现有的类(蓝色)并将新类(红色)添加到<'h2'>当<'a'>是空的。

<div id="heading" class="header">
   <h2 id="title" class="blue">Header text goes here</h2>
   <a class="info" href="#"></a>
</div>

<style>
  .blue{color:blue}
  .red{color:red}
</style>

我尝试了一些变化,但没有成功。这是我最新的。

$("#heading a.info:empty").removeClass('blue').addClass("red");

对此有任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:4)

使用.text()查找是否为空

var a =$(".info").text().trim();
a===""?($("#title").removeClass("blue").addClass('red')):''

JSFIDDLE

答案 1 :(得分:3)

&#13;
&#13;
if($("#heading a.info").text() === ''){
  $("#heading h2").removeClass('blue').addClass("red");
}
&#13;
.blue{color:blue}
 .red{color:red}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="heading" class="header">
   <h2 id="title" class="blue">Header text goes here</h2>
   <a class="info" href="#"></a>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

&#13;
&#13;
if ($("#heading a.info:empty")) {
  $("#title").removeClass('blue').addClass("red");
}
&#13;
.blue {
  color: blue
}
.red {
  color: red
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="heading" class="header">
  <h2 id="title" class="blue">Header text goes here</h2>
  <a class="info" href="#"></a>
</div>
&#13;
&#13;
&#13;

应从h2中移除<锚点

答案 3 :(得分:0)

:empty返回元素集合。您需要在h2

中添加/删除课程

所以请使用 .prev() 来获取上一个兄弟。

$("#heading a.info:empty")
                 .prev('#title')
                 .removeClass('blue')
                 .addClass("red");