javascript - 删除父元素上的节点功能

标签 javascript

我是 JS 新手。我试图通过单击按钮来删除父节点及其所有子节点。但控制台告诉我 undefined 不是一个函数。我错过了什么?

fiddle :

http://jsfiddle.net/vy0d8bqt/

HTML:

<button type="button" id="output">Get contacts</button>
        <button type="button" id="clear_contacts">clear contact</button>
        <div id="output_here"></div>

JS:

// contact book, getting data from JSON and outputting via a button

            // define a JSON structure
            var contacts = {
                "friends" :
                [
                    {
                    "name" : "name1",
                    "surname" : "surname1"
                    },
                    {
                    "name" : "name2",
                    "surname" : "surname2"
                }
                ]
            };

            //get button ID and id of div where content will be shown
            var get_contacts_btn = document.getElementById("output");
            var output = document.getElementById("output_here");
            var clear = document.getElementById("clear_contacts");
            var i;
            // get length of JSON

            var contacts_length = contacts.friends.length;

            get_contacts_btn.addEventListener('click', function(){
                //console.log("clicked");
                for(i = 0; i < contacts_length; i++){
                var data = contacts.friends[i];
                var name = data.name;
                var surname = data.surname;
                output.style.display = 'block';
                output.innerHTML += "<p> name: " + name + "| surname: " + surname + "</p>";



                }
            });

            //get Children of output div to remove them on clear button 
           //get output to clear

           output_to_clear = document.getElementById("output_here");


            clear.addEventListener('click', function(){
                output_to_clear.removeNode(true);
            });

最佳答案

您应该使用remove()而不是removeNode()

http://jsfiddle.net/vy0d8bqt/1/

但是,这也会删除 output_to_clear 节点本身。如果您只想删除节点的所有内容,但不删除节点本身(这样您可以在清除节点后再次单击“获取联系人”按钮),您可以使用 output_to_clear.innerHTML = ''

http://jsfiddle.net/vy0d8bqt/3/

关于javascript - 删除父元素上的节点功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26982757/

相关文章:

javascript - 警报未出现在本地主机中

javascript - 使用/Jquery 从下拉列表中删除/添加基于用户选择的文本

javascript - 使用/javascript 创建表单并将变量传递给函数

javascript - 在让客户端输入另一条消息之前等待服务器响应

javascript - React-contextmenu 收到右键单击的错误触发器

javascript - 如何获取从用户那里获取数字的正则表达式

javascript - 隐藏带有文本内容的tr(表格行)

javascript - 未定义未捕获的 ReferenceError $

javascript - Bootstrap Affix Nav 导致下面的div跳起来

javascript - 白色圆圈显示搜索工具栏