【问题标题】:Why is the style not applied to the child nodes of a specific class?为什么样式不适用于特定类的子节点?
【发布时间】:2019-12-20 21:46:12
【问题描述】:

对于搜索字段,我添加动态 div 子节点,如下所示:

    <div id="recommand" class="recommand"></div>
    data.result.forEach(function(entry) {
            let cont: rcommand;
            cont.username = entry[0];
            const x = document.getElementById('recommand') as HTMLInputElement;
            const blocktoinsert = document.createElement( 'div' );
            blocktoinsert.innerHTML = cont.username;
            x.appendChild(blocktoinsert);
          });
    .recommand div{
      background-color:red;
    }

但未应用背景颜色。知道为什么吗?

谢谢!

【问题讨论】:

  • 这是因为 JavaScript 在 HTML 中工作,当你用
  • 感谢米塞斯的回答!脚本工作正常,一切都在一个角度组件函数中完成,唯一的问题是 div 的样式
  • 我假设 data 是 AJAX 调用的结果。它实际上是在返回数据吗?孩子divs 是否真的被插入到页面中,里面有内容?
  • 正如我所说的 div 没有背景显示
  • 你的选择器没有选择类recommand的div,它选择了类recommand的元素内的子div

标签: javascript html angular class parent-child


【解决方案1】:

根据 html 的样式,你定位错误。

这是正确的:

div.recommand {
  background-color: yellow;
}

如果上述工作不正常,试试这个:

.recommand &gt; div 选择父元素为.recommand 元素的所有&lt;div&gt; 元素。

.recommand + div 选择紧跟在.recommand 元素之后的所有&lt;div&gt; 元素。

如果我错了请写评论。

【讨论】:

  • 如果他们希望父 div 和所有子 div 受到影响,这是正确的。如果他们只想要子 div 样式,.recommand div 是正确的,或者至少是一种方法。但看来这就是他们想要的......
  • @NathanMiller 他确实只想针对班级。可能他只需要一个强大的连锁瞄准。这是弱目标.recommand {... 这是更强的div.recommand {.. 根据html模板.recommand div {...这是不正确的因为他里面没有任何&lt;div&gt;
  • 他运行的 Javascript 遍历结果集并将(可能多个)&lt;div&gt;s 添加到现有的&lt;div&gt;。所以他给我们的代码中没有任何内容,但在他的 JS 运行之后会有,这就是为什么我要求确保它们被插入。
  • @NathanMiller 我编辑了如果他需要帮助,他会回来的。 XD
猜你喜欢
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 2023-03-26
  • 2021-05-23
  • 2019-08-13
  • 1970-01-01
  • 2011-04-17
相关资源
最近更新 更多