首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不是在身体内工作的孩子

不是在身体内工作的孩子
EN

Stack Overflow用户
提问于 2015-05-07 03:08:39
回答 2查看 260关注 0票数 3

我试图用div绘制一个6x6网格,但是当我用javascript和css创建它们时,它并没有像预期的那样显示。

css:

代码语言:javascript
复制
div{
    width:30px;
    height:30px;
    margin:0px;
    border:1px solid black;
    float:left;
}
div:nth-child(6n+1){
    clear:both;
}

javascript:

代码语言:javascript
复制
for(var i=0; i<36; i++){
    document.body.appendChild(document.createElement('div'));
}

https://jsfiddle.net/kqzhorq0/

上面的链接演示了我在浏览器中看到的内容。

但是,当我在jsfiddle中选择onload或onDomReady设置时,网格会显示出预期的结果。

如何才能让网格正确地使用onload或onDomReady显示,为什么没有它就不能正确显示?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-07 03:19:15

如果您可以将div包装在容器中,并指定要从容器中指定目标的选择器,那么您的代码就可以工作。

下面是一个工作片段:

代码语言:javascript
复制
for(var i=0; i<36; i++){
    document.getElementById("foo").appendChild(document.createElement('div'));
}
代码语言:javascript
复制
#foo div{
  width:30px;
  height:30px;
  margin:0px;
  border:1px solid black;
  float:left;
}

#foo div:nth-child(6n+1){
  clear:both;
}
代码语言:javascript
复制
<div id="foo"></div>

我还在nth-child上创建了一个交互演示,以帮助进一步解释它:http://xengravity.com/demo/nth-child/

票数 3
EN

Stack Overflow用户

发布于 2015-05-07 03:15:20

这里的问题是,小提琴中身体的第一个孩子是脚本元素。您可以检查结果面板的html以查看脚本元素。

nth-儿童将在使用索引搜索元素时考虑所有元素,但使用nth of型可以搜索特定类型。

一种选择是使用:nth类型选择器,如下所示

代码语言:javascript
复制
div {
    width:30px;
    height:30px;
    margin:0px;
    border:1px solid black;
    float:left;
}
div:nth-of-type(6n+1) {
    clear:both;
}

演示:小提琴

另一种方法是在脚本前面插入div,如下所示

代码语言:javascript
复制
for (var i = 0; i < 36; i++) {
    document.body.insertBefore(document.createElement('div'), document.body.firstChild);
}

演示:小提琴

但是更好的解决方案是使用自定义容器元素而不是body元素。

代码语言:javascript
复制
var ct = document.getElementById('container');
for (var i = 0; i < 36; i++) {
    ct.appendChild(document.createElement('div'));
}

然后

代码语言:javascript
复制
#container > div {
    width:30px;
    height:30px;
    margin:0px;
    border:1px solid black;
    float:left;
}
#container div:nth-child(6n+1) {
    clear:both;
}

演示:小提琴

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30091251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档