在条件上更改父div颜色的颜色

时间:2017-07-01 11:56:06

标签: javascript jquery html css

我有一个像下面这样的HTML代码

<div class="class1">
    <div class="class2">
        <span class="span1"></span>

如果跨度为class =&#34; span1&#34;在开始和结束标签之间没有价值,我想用class =&#34; class1&#34;

更改div的颜色

但是,加载后,span填充了javascript,所以我应该用JS或CSS更改颜色吗?任何人都可以告诉我一个方法吗?

我没有要显示的示例代码,因为我不确定如何启动

4 个答案:

答案 0 :(得分:0)

document.getElementsByClassName("span1")[0].parentElement.parentElement.style.color = "green";

答案 1 :(得分:0)

要确定指定的元素是否在标记之间没有任何内容,请使用html()提供的jQuery函数。要更改父级的样式,请使用parent()css()函数。要等到加载DOM,请使用ready()函数。

$(document).ready(function() {
  if (!$('.span1').html()) {
    $('.span1').parent().css({ color: 'red' });
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="class1">
  <div class="class2">text
    <span class="span1"></span>
  </div>
</div>

答案 2 :(得分:0)

你不能上去&#34;通过css,只有下来,所以你必须用js做。这是som示例代码:

&#13;
&#13;
$(function(){
   $(".span1").each(function(){
      if($(this).html() == ""){
          $(this).closest(".class1").css("background-color", "red")
      }
   })
})
&#13;
span{
  height: 10px;
  display: block
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class="class1">
    <div class="class2">
        <span class="span1"></span>
    </div>
</div>
<div class="class1">
    <div class="class2">
        <span class="span1">filled</span>
    </div>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

你可以通过jQuery使用不同的函数css(),parents(),html()来实现这个功能。

你需要将所有代码放在这个$(document).ready()中,所以这将在所有DOM数据加载后执行。

为此您只需使用以下代码:

Html代码:

<div class="class1">
    <div class="class2">
        Hello this is test message.
        <span class="span1"></span>
    </div>
  </div>  

和jquery代码:

$(document).ready(function(){
        $(".span1").html().toString().length > 0 ? $(".span1").parents(".class1").css("background-color","red") : $(".class1").css("background-color","yellow");
    });

首先我们检查长度是否为0,然后它将执行此

$(".span1").parents(".class1").css("background-color","red")

否则:

$(".class1").css("background-color","yellow");

这里我使用父母设置了背景颜色,您可以直接通过类名申请。

我希望这段代码可以帮到你。