Javascript 代码生成元素不';你不在网上看吗?

Javascript 代码生成元素不';你不在网上看吗?,javascript,html,Javascript,Html,我的任务是为我们公司的查询API做一个演示。为此,我的老板希望我创建一个简单的HTML站点,其中包含一个搜索功能,以使用上述API。到目前为止,我已经设法创造了她想要的几乎所有东西,但现在我被困在一个相当。。。奇怪的问题 我已经设法创建了一个灵活的过滤功能,允许用户添加/删除他们认为合适的过滤器。我是这样做的: window.onload=函数init() { var filterSet=document.getElementsByTagName(“字段集”)[0]; var filterSe

我的任务是为我们公司的查询API做一个演示。为此,我的老板希望我创建一个简单的HTML站点,其中包含一个搜索功能,以使用上述API。到目前为止,我已经设法创造了她想要的几乎所有东西,但现在我被困在一个相当。。。奇怪的问题

我已经设法创建了一个灵活的过滤功能,允许用户添加/删除他们认为合适的过滤器。我是这样做的:

window.onload=函数init()
{
var filterSet=document.getElementsByTagName(“字段集”)[0];
var filterSection=filterSet.getElementsByTagName(“节”);
变量集=过滤器节[1];
var elements=set.getElementsByTagName(“*”);
set.getElementsByTagName(“*”[5]。addEventListener(“单击”,克隆操作);
如果(filterSection.length>2)
{
元素[6]。隐藏=假;
元素[6]。addEventListener(“单击”,删除节);
}
其他的
{
元素[6]。hidden=true;
}
}
功能克隆(e)
{
var filterSet=document.getElementsByTagName(“字段集”)[0];
var filterSection=filterSet.getElementsByTagName(“节”);
var newId=parseInt(filterSection[filterSection.length-1].id)+1;
变量集=过滤器节[1];
var newSet=set.cloneNode(true);
var elements=newSet.getElementsByTagName(“*”);
newSet.id=”“+newId;
元素[5]。addEventListener(“单击”,克隆);
元素[6]。隐藏=假;
元素[6]。addEventListener(“单击”,删除节);
filterSet.appendChild(新闻集);
}
功能删除部分(e)
{
var目标=e.target;
var filterSet=document.getElementsByTagName(“字段集”)[1];
var filterSection=target.parentElement;
filterSection.remove();
}

等于
那就不同了

文档。getElementsByTagName(“字段集”)[1]
将获取文档中的第二个字段集。在您的代码段中只有一个,因此代码中断。使用
document.getElementsByTagName(“字段集”)[0]
获取第一个字段。检查元素是否真的被找到是一个很好的做法,但是代码不会中断。它工作得很好(其中有两个字段集,我只是展示了我需要使用的字段集。)正如我所说,唯一的问题是出于某种原因,它仍然认为字段集只有两个子元素,只有它有更多的子元素。孩子们在我为它编写的脚本中添加了一个“在你的代码片段中只有一个,所以你的代码会中断。”我在这里谈论的是你的代码片段。请提供一个代码片段,用最少的代码重现您的问题。好的。。。我重写了它以使其正常工作。再次抱歉。如果您在onload事件中执行此操作,则在加载页面时,它将仅显示页面上的部分。因此,html中有两个部分,只显示这两个部分。如果在clone函数中选中filterSection.length,它将显示正确的数量。