Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止最后一个孩子返回回车?_Javascript_Html - Fatal编程技术网

Javascript 防止最后一个孩子返回回车?

Javascript 防止最后一个孩子返回回车?,javascript,html,Javascript,Html,我试图获取给定元素的第一个和最后一个节点 document.getElementById('test').firstChild document.getElementById('test').lastChild 问题是lastChild函数只返回一个回车,而不是最后一个有用的节点 返回最后一个元素或文本节点(不包括回车符)的最佳方法是什么?仔细查看以前的同级元素,直到找到一个元素节点 nodeType==1表示它是一个元素节点。。。看 var lastElement=document.ge

我试图获取给定元素的第一个和最后一个节点

document.getElementById('test').firstChild
document.getElementById('test').lastChild

问题是lastChild函数只返回一个回车,而不是最后一个有用的节点


返回最后一个元素或文本节点(不包括回车符)的最佳方法是什么?

仔细查看以前的同级元素,直到找到一个元素节点

nodeType==1
表示它是一个元素节点。。。看

var lastElement=document.getElementById('test').lastChild;
while(lastElement!=null&&lastElement.nodeType!=1){
lastElement=lastElement.previousSibling;
}
if(lastElement!=null){
document.getElementById(“输出”).innerHTML=lastElement.id;
}

A.
B
C
D

lastChild
firstChild
返回元素的第一个子节点和最后一个子节点,可以是元素、文本节点或注释。如果要获取第一个子元素和最后一个子元素,可以使用:

document.getElementById('test').firstElementChild
document.getElementById('test').lastElementChild

所有现代浏览器都应该支持它

尝试删除
测试中子元素之间的所有空格
我无法编辑源代码,我必须使用javascript。如果您想要最后一个元素,而不是最后一个子元素(如果该子元素可以是文本节点)然后在所有子元素上反向循环,直到找到一个元素。不知道它的存在。。。虽然如果您需要支持IE8及以下版本(是的,我知道,但我们中的一些人仍然很不幸),但它不会起作用。谢谢,但我更想找到一种方法来获取不包括回车符的最后一个孩子,我甚至想要文本节点。