类别为m = inputString(fopen("filename.txt", "r"), 512)
的{{1}}是类别为div
的{{1}}的直接子代吗?为什么或者为什么不?我很困惑,直系子女与直系子女的含义相同吗?
altfoo
答案 0 :(得分:2)
是的,“直子”与“直子”含义相同,并且元素.altfoo
既是.foo
的直子又是直子。可以通过 child combinator >
来确认:
.foo > .altfoo {
color: red;
}
<div class="foo">
<!-- 1 -->
<p></p>
<!-- 2 -->
<p></p>
<div class="altfoo">
<!-- 3 -->
Altfoo
<p></p>
</div>
</div>
您的示例中的<p></p>
只是.altfoo
的兄弟姐妹,并且也是 .foo
的直接子代
直接子元素是子元素,在层次结构方面,该元素紧随父元素下方。也就是说,不是孙子或曾孙。
例如,请注意,当元素将层次结构中的两个元素分开时,.foo > .altfoo
CSS选择器将不再定位该元素:
.foo > .altfoo {
color: red;
}
<div class="foo">
<div class="middle">
<div class="altfoo">
Altfoo
</div>
</div>
</div>
答案 1 :(得分:0)
您可以通过两种方式访问子元素。一种是使用DOM属性“ children”,它仅提供type元素的直接子节点。而“ childNodes”功能可提供所有级别的所有级别的节点,包括注释和文本节点。可以运行下面的示例代码以更好地理解该语句。
<htmL>
<head>
</head>
<body>
<div class="foo">
<p></p>
<p></p>
<div class="altfoo">
<p></p>
</div>
</div>
</body>
<script type="text/javascript">
(function(){
var c = document.getElementsByClassName("foo")[0].children;
//var c = document.getElementsByClassName("foo")[0].childNodes();
var i;
for (i = 0; i < c.length; i++) {
alert( c[i].outerHTML);
}
})();
</script>
</html>