동안
<head>
<script>
function run() {
alert(document.body.childNodes.length);
}
window.addEventListener("load", run, false);
</script>
</head>
<body></body>
</html>
체내 공백있다. 공백은 '텍스트'로 간주되고 '텍스트'는 노드로 간주됩니다.
코드를 약간 변경하면 nodeName
을 출력 할 수 있습니다. 이 경우 #text
을 출력합니다.
이미 노드가 하나 있다는 것을 알고 있으므로 간단히 childNodes[0]
을 출력 할 수 있습니다. 둘 이상인 경우 루프를 반복하여 출력 할 수 있습니다.
<head>
<script>
function run() {
alert(document.body.childNodes[0].nodeName);
}
window.addEventListener("load", run, false);
</script>
</head>
<body></body>
</html>
나는 body
태그에 공백을 제거 할 수는 없지만 나는 div
태그 할 수 있습니다.
<!Doctype html>
<html>
<head>
<script>
function run() {
var length = document.body.getElementsByTagName("div")[0].childNodes.length;
if(length > 0) {
length += "\n" + document.body.getElementsByTagName("div")[0].childNodes[0].nodeName;
}
alert(length);
}
window.addEventListener("load",run,false);
</script>
</head>
<body>
<div></div>
</body>
</html>
당신이 div
태그 (공백, 줄 바꿈 등) 사이에 공백을 추가하는 경우
은 경고 텍스트 노드를해야합니다.
EDIT : 그것은 브라우저와 관련된 것으로 나타납니다. 이것은 IE, Firefox 및 Chrome의 동작입니다. 이 방법으로 다른 브라우저가 작동하는지 확신 할 수 없습니다.
몇 가지 세부 정보 (예 : 일부 코드)를 제공해주십시오. 이걸보세요 : http://stackoverflow.com/help/mcve – ppovoski
스크린 샷을 찍었습니다. 지금은 어때? @pp –