自动完成纯javascript删除

自动完成纯javascript删除,javascript,html,Javascript,Html,我正在尝试用Javascript、PHP和Mysql构建一个自动完成的表单 以下是限制条件: 没有JQuery,纯Javascript 没有xmlHTTPResquest对象,只有DSL 没有innerHTML,只有dom对象移动 研究工作正常,显示正确,但我无法在每次新搜索时删除它们,它们会堆积起来,并创建一大堆div 我尝试了一个带有remove child的while语句,最后尝试了下面的函数simpel(),但没有成功 有人有办法完成吗 谢谢 以下是我的javascript: var

我正在尝试用Javascript、PHP和Mysql构建一个自动完成的表单

以下是限制条件:

  • 没有JQuery,纯Javascript
  • 没有xmlHTTPResquest对象,只有DSL
  • 没有innerHTML,只有dom对象移动
研究工作正常,显示正确,但我无法在每次新搜索时删除它们,它们会堆积起来,并创建一大堆div

我尝试了一个带有remove child的while语句,最后尝试了下面的函数simpel(),但没有成功

有人有办法完成吗

谢谢

以下是我的javascript:

var planetx = document.querySelector('form:nth-of-type(1)');
var results = document.querySelector('article div:nth-of-type(1)');


function displayFile(data) {
        results.style.display = data.length ? "block" : "none";
        for (var i = 0, c = data.length; i < c; i++) {
                div = document.createElement('div');
                p = document.createElement('p');
                text = document.createTextNode(data[i]);
                p.appendChild(text);
                div.appendChild(p);
                text.className += "res";
                p.className += "res";
                div.className += "res";
                planetx.appendChild(div);
            }
}

function simpel() {
        h = document.querySelectorAll('.res');
        for (var k = 0, c = h.length; k < c; k++) {
            h[k].parentNode.removeChild;
        }
}




planetx.addEventListener('input', function(e) {
                                                var scriptElement = document.createElement('script');
                                                scriptElement.type = 'text/Javascript';
                                                scriptElement.src = 'php/mysqlfile.php?name=' + e.target.value;
                                                document.body.appendChild(scriptElement);
                        }, false);
var planetx=document.querySelector('form:nth of type(1)');
var结果=document.querySelector('article div:nth of type(1)');
函数显示文件(数据){
results.style.display=data.length?“块”:“无”;
对于(变量i=0,c=data.length;i
removeChild
需要调用,而不仅仅是提及-它需要一个参数(要删除的节点):


我不知道为什么这里没有使用jQuery,但这不是重点。我发现这个方法实际上没有运行:

h[k].parentNode.removeChild
不确定这是否是修复,但请尝试添加“()”以调用此方法:

h[k].parentNode.removeChild(CHILD_TO_REMOVE)
编辑:


谢谢你的帮助,但我试过了,运气不好。试试我添加的新台词。很好。很高兴它起作用了。如果它回答了这个问题,你能把这个答案标记为正确答案吗?谢谢如果外部选择器更改为
h=document.querySelectorAll('div.res')
,会发生什么情况?在当前版本中,您选择的是
div
p
和text节点,由于某些原因,它们都具有相同的类。谢谢,尝试过了,运气不好,结果仍然堆积在一起。
h[k].parentNode.removeChild(CHILD_TO_REMOVE)
h[k].remove();