Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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 DOM,访问<;李>;使用nextsibling属性的元素 第1项 项目2 第3项 第4项 var secLi=document.getElementById(“secLi”); var sib=secLi.nextSibling; 文件编写(sib); //或//、或//、或//、或//、或//、或//、或 var secLi=document.getElementById(“secLi”); var sib=secLi.nextSibling; document.write((sib.textContent);_Javascript_Html_Dom_Traversal_Nextsibling - Fatal编程技术网

Javascript DOM,访问<;李>;使用nextsibling属性的元素 第1项 项目2 第3项 第4项 var secLi=document.getElementById(“secLi”); var sib=secLi.nextSibling; 文件编写(sib); //或//、或//、或//、或//、或//、或//、或 var secLi=document.getElementById(“secLi”); var sib=secLi.nextSibling; document.write((sib.textContent);

Javascript DOM,访问<;李>;使用nextsibling属性的元素 第1项 项目2 第3项 第4项 var secLi=document.getElementById(“secLi”); var sib=secLi.nextSibling; 文件编写(sib); //或//、或//、或//、或//、或//、或//、或 var secLi=document.getElementById(“secLi”); var sib=secLi.nextSibling; document.write((sib.textContent);,javascript,html,dom,traversal,nextsibling,Javascript,Html,Dom,Traversal,Nextsibling,我想使用nextSibling属性获取第三个列表(li)项的textnode并写入文档。我知道我可以使用“li.textContent”访问它,但我希望这样 不,我不是在寻找“nextSibling”,我想使用“nextSibling”属性访问“secondli”的“textNode”,这是因为如果我想访问“第三个li”,我必须使用“nextSibling.nextSibling”两次才能访问“第三个li”。(1)第一个“nextSibling”用于“第二个li”的“text node”,第二个

我想使用nextSibling属性获取第三个列表(li)项的textnode并写入文档。我知道我可以使用“li.textContent”访问它,但我希望这样

不,我不是在寻找“nextSibling”,我想使用“nextSibling”属性访问“secondli”的“textNode”,这是因为如果我想访问“第三个li”,我必须使用“nextSibling.nextSibling”两次才能访问“第三个li”。(1)第一个“nextSibling”用于“第二个li”的“text node”,第二个“nextSibling”用于“3rd li”。所以我无法使用“next sibling”一次获取“2rd li”的文本节点


我使用text-fixer.com删除了其他空白和换行符,即使它不起作用。

您是否正在寻找
下一代远程登录

<body>
    <div id="li-container">
        <ul>
            <li class="hot">item1</li>
            <li id="secLi" class="cool">item2</li>
            <li class="cool">item3</li>
            <li class="cool">item4</li>
        </ul>
    </div>

<script language="javascript" type="text/javascript">
var secLi = document.getElementById("secLi");
var sib = secLi.nextSibling;
document.write(sib);

//OR //OR  //OR //OR  //OR //OR  //OR //OR  

var secLi = document.getElementById("secLi");
var sib = secLi.nextSibling;
document.write((sib).textContent);

</script>
</body>
您不需要下一个标记,因为它只是列表项之间的空文本。您需要下一个元素(列表项)


请参见
li
元素的
textnode
节点是
2nd li
元素的
子元素。
所以代码应该是
var sib=secLi.firstChild.textContent;
文件编写(sib)


@brianvaughn

你认为第二种方法有什么错误..你想让
item3
写在文档中。对吗?nextSibling和nextElementSibling有什么区别“@amgurup作为
nextSibling
属性和
nextElementSibling
之间的区别在于,nextSibling将下一个同级节点作为元素节点、文本节点或注释节点返回,而nextElementSibling将下一个同级节点作为元素节点返回(忽略文本和注释节点)。Src:直接取自Mozilla文档:“nextElementSibling只读属性返回紧跟在其父级的子节点列表中指定的元素之后的元素。”“nextSibling只读属性返回紧跟在其父级的子节点列表中指定的节点之后的节点”。因此,在本例中,您需要元素(
  • ),因为下一个节点实际上是文本节点。
    nextSibling
    选择下一个同级节点。
    elementNode
    commentNode
    textNode
    nextElementSibling
    选择下一个
    elementNode
    同级节点,该节点具有
    1
    nodeType
    。在代码
    nextSibling
    中,选择一个
    textNode
    ,该
    textNode
    包含换行符和其他隐藏字符,这些字符用于格式化标记。如果删除隐藏字符,则
    nextSibling
    选择相同的节点。不,我不是在寻找nextElementSibling,我想使用nextSibling属性访问第二个列表的textNode,这是因为如果我想访问第三个列表项,我必须使用(nextSibling.nextSibling)这是第二个列表的文本节点,它到达第三个列表项
    var secLi = document.getElementById('secLi');
    secLi.nextSibling; // Is a text node.
    secLi.nextElementSibling; // Is the <li> you're looking for, so..
    secLi.nextElementSibling.textContent; // Gives you "item3"
    
    secLi.parentElement.childNodes;
    // [#text, <li>, #text, <li>, #text, <li>, #text, <li>, #text]