我不知道我是否知道javascriptpreviousSibling和previousElementSibling之间有什么区别。我试过了,但没有找到任何比较或描述这个的问题或文章。也许这是因为我对javascript的了解很少,但如果能解释一下,我将不胜感激。非常感谢。 最佳答案 previousElementSibling属性返回指定元素的前一个元素,在同一树级别。该属性与previousSibling的区别在于,previousSibling返回前一个兄弟节点作为元素节点、文本节点或注释节点,而previousElementS
我一直在使用nativeDOM方法(我知道,对吗?)并且我有这样的结构:我在上使用onClick标签,并希望从输入中检索值。在Chrome/OSX上,类似于this.previousSibling.previousSibling.value会很好用。我加倍了,因为第一个.previousSibling返回的Textnode,以及之前的另一个获取我想要的输入。我的问题是:.previousSibling如果存在,总是返回父节点的文本节点?谢谢!编辑/解决方案我的hacky解决方案是(跨浏览器)以确保我得到正确的元素,如下所示:varel=this;while(el.nodeType==3
我想定位第一个在div中选择第二个并使用previousSibling属性(property),但它不工作。testtestdocument.getElementById('p2').previousSibling.className='red';编辑:好的,它适用于除IE8以外的所有浏览器,但我希望它也适用于IE8,我尝试了以下条件但没有效果:varc=document.getElementById('p2').previousElementSibling.className='red';if(c==undefined){c=document.getElementById('p2')
有人可以澄清为什么下面的代码返回#text而不是'li'?第一个li的下一个sibling不应该是li吗?同样,最后一个li的前一个兄弟是li?//cacheselectionoftheulvarul=document.querySelector('ul');//WhatisthenextSiblingofthefirstli?console.log(ul.querySelector('#A').nextSibling.nodeName);//logstext//WhatisthepreviousSiblingofthelastli?console.log(ul.querySelect