Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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,函数请参见ListItems(){ var olElement=document.getElementById(“toDoList”); var st=“”; 对于(变量i=0;i

函数请参见ListItems(){
var olElement=document.getElementById(“toDoList”);
var st=“”;
对于(变量i=0;i
要做的事情
  • 修剪草坪
  • 擦窗户
  • 回复你的电子邮件
  • 确保所有任务在晚上10点之前完成

    运行函数
    您可以使用该函数:

    function seeListItems() {
        var olElements = document.querySelectorAll("#toDoList li");
    
        olElements.forEach(function(li){
          alert(li.innerText);
        })
    
        var pElement = document.getElementById("toDoNotes");
        var str = "";
    
        for (var j=0; j < pElement.childNodes.length; j++) {
            if(pElement.childNodes[j].nodeType == 1) {
              str += pElement.childNodes[j].nodeValue;
            }
        }
        alert(str);
    }
    
    函数请参见ListItems(){
    var oleelements=document.queryselectoral(“#toDoList li”);
    olements.forEach(函数(li){
    警报(li.innerText);
    })
    var pElement=document.getElementById(“toDoNotes”);
    var str=“”;
    对于(var j=0;j
    编辑:简化=>

    <script>
    function seeListItems() {
        document.querySelectorAll("#toDoList li").forEach(function(li){
          alert(li.innerText);
        })
    
        alert(document.getElementById("toDoNotes").innerText);
    }
    </script>
    
    
    函数seeListItems(){
    document.queryselectoral(“#toDoList li”).forEach(函数(li){
    警报(li.innerText);
    })
    警报(document.getElementById(“toDoNotes”).innerText);
    }
    
    脚本中有一个打字错误
    olement
    未在任何地方定义

    函数请参见ListItems(){
    var oiElement=document.getElementById(“toDoList”);
    var st=“”;
    对于(var i=0;i
    要做的事情
    
  • 修剪草坪
  • 擦窗户
  • 回复你的电子邮件
  • 确保所有任务在晚上10点之前完成


    运行函数
    您的代码中有一个输入错误
    var oiElement=document.getElementById(“toDoList”)应该是
    var olElement=document.getElementById(“toDoList”)

    另外,您是否考虑过使用jQuery。我想这会大大简化你的工作。有些人因为jQuery的大小而抨击它,但我认为它没有那么糟糕。当你考虑你要保存多少行代码时,还不算太坏! 考虑这个例子:

    函数请参见ListItems()
    {
    $(“#toDoList”)。子项('li')。每个(函数(){
    console.log($(this.text());
    });
    }
    
    待办事项清单
    要做的事情
    
  • 修剪草坪
  • 擦窗户
  • 回复你的电子邮件
  • 确保所有任务在晚上10点之前完成

    运行函数
    实际上,任何
    元素的
    childNode[0]
    都是
    textNode
    ,因此可以从
    childNode[1]
    开始。类似地,所有偶数
    childNodes
    都将是
    textNodes
    ,因此您必须按如下方式打印
    #toDoList
    的奇数
    childNodes
    的值

    函数请参见ListItems(){
    var oiElement=document.getElementById(“toDoList”);
    var st=“”;
    对于(变量i=1;i
    
    待办事项清单
    要做的事情
    
  • 修剪草坪
  • 擦窗户
  • 回复你的电子邮件
  • 表演作品
    为了清晰起见,我做了以下更改:

    function seeListItems() {
    var oiElement = document.getElementById("toDoList");
    var st = "";
    
    for (var i=0; i < oiElement.childNodes.length; i++) {
        if(oiElement.childNodes[i].nodeType === Node.ELEMENT_NODE) {
          st += oiElement.childNodes[i].firstChild.nodeValue;
        }
    }
    
    alert(st);
    
    var pElement = document.getElementById("toDoNotes");
    var str = "";
    
    for (var j=0; j < pElement.childNodes.length; j++) {
        if(pElement.childNodes[j].nodeType === Node.TEXT_NODE) {
          str += pElement.childNodes[j].nodeValue;
        }
    }
    alert(str);
    
    函数请参见ListItems(){
    var oiElement=document.getElementById(“toDoList”);
    var st=“”;
    对于(var i=0;i
    }


    您还错误地将oiElement表示为olElement。

    这里有一个输入错误:
    oiElement
    olElement
    。您键入了“i”而不是“l”。我更正了它,问题仍然存在)第一个警报显示为NullNullNullNull,nodeType=1谢谢,但我需要使用与第二个id“toDoNotes”使用的几乎相同的方法,您要特别使用它的哪一部分?我需要获得一个警报,该警报将显示列表中的所有3个句子。我必须使用node(我们在dom一章中),但我不知道哪里有错误。我不能使用查询,我的任务是获取节点的警报。值childNodes[0]的功能是什么,它与childNodes[I]有什么区别?
    ChildNode[0]
    实际上是
  • textNode
    类似于textNode[0]toDoList的
    是一个
    文本节点