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