$('parent> child> childOfChild> ...')。css('background-color','red)

时间:2017-03-27 16:58:03

标签: javascript jquery html css

HTML

<div class="galao">
   <div class="informacoesGalao invisible">
      <div class="tabelaInformacoes infoGalao" style="float:right; text-align:right">
         <p class="nomeGalao">Produto A</p>
         <p class="invisible volumeTotalGalao">1000</p>
         <p class="invisible volumeAtualGalao">800</p>
      </div>
   </div>
   <div class="desenhoGalao">
      <div class="bordasGalao">
         <div class="conteudoGalao"></div>
      </div>
   </div>
</div>

CSS

.conteudoGalao { background-color: blue }

我正在尝试选择<div class="galao">并更改孩子<div class="conteudoGalao">的背景颜色。

当用户点击<div class="galao">时,此div变为<div id="selectedGalao" class="galao">

我已经尝试$('#selectedGalao > conteudoGalao').css('background-color','red'),但它甚至没有返回错误或任何内容。知道如何让这个工作吗?这种“孙子div”是否有特定的jquery?

2 个答案:

答案 0 :(得分:1)

&#39;&gt;&#39; css选择器适用于直接儿童。由于conteudoGalao是一个孙子,它将无法运作。只需使用$('#selectedGalao .conteudoGalao').css('background-color','red')代替,除非它不够具体,在这种情况下,我需要更多信息来说明原因。如果您的标记始终有效,并且您确实希望在您的选择器中非常明确$('#selectedGalao > .desenhoGalao > .bordasGalao > .conteudoGalao').css('background-color','red')。最后,正如CalvT所说的那样,你也错过了一段时间,并且在“竞争对手”面前。把它标记为一个类。

答案 1 :(得分:0)

你的jQuery中有错误。请尝试以下方法:

$('#selectedGalao .conteudoGalao').css('background-color','red')

您没有指定conteudoGalao是一个类,所以通过添加.来做到这一点因为.缺失,jQuery正在寻找一个名为{{1}的元素}

conteudoGalao适用于直接子女,而>则不适用。