Javascript 在中隐藏元素
我需要你的帮助 如果document.getElementByIdfile.children[1].style.display=none;隐藏文件菜单中的保存项,然后是document.getElementByIdedit.children[1].style.display=none;无法正常工作,并且无法在“编辑”菜单项中隐藏“添加新项”Javascript 在中隐藏元素,javascript,dom,Javascript,Dom,我需要你的帮助 如果document.getElementByIdfile.children[1].style.display=none;隐藏文件菜单中的保存项,然后是document.getElementByIdedit.children[1].style.display=none;无法正常工作,并且无法在“编辑”菜单项中隐藏“添加新项” <div id="menuwrapper"> <div id="menu" style="width: 1001px; heigh
<div id="menuwrapper">
<div id="menu" style="width: 1001px; height: 20px">
<ul>
<li>
<a href="#nogo"><div id="div_rssims_file">File</div></a>
<ul id="file">
<li><a onclick="window.print()"><div id="div_rssims_file_print">Print</div></a></li>
<li id="li_rssims_file_save"><a onclick="rssims_save()"><div id="div_rssims_file_save">Save</div></a></li>
<li><a onclick="rssims_save();window.close()"><div id="div_rssims_file_save_exit">Save & Exit</div></a></li>
<li><a onclick="window.close()"><div id="div_rssims_file_exit">Exit</div></a></li>
</ul>
</li>
<li>
<a href="#nogo"><div id="div_rssims_edit">Edit</div></a>
<ul id="edit">
<li><a href="#nogo" onclick="rssims_addnew()"><div id="div_rssims_edit_addnew">Add new</div></a></li>
<li><a href="#nogo" onclick="sims_delete()"><div id="delete">Delete</div></a></li>
<li><a href="#nogo" onclick="sims_reset()"><div id="clear">Clear Form</div></a></li>
</ul>
</li>
<li>
<a href="#nogo"><div id="div_rssims_view">View</div></a>
<ul>
<li><a href="#nogo"><div id="goto_first">>> Go to First</div></a></li>
<li><a href="#nogo"><div id="goto_next">>Go to Next</div></a></li>
<li><a href="#nogo"><div id="goto_prev">Go to Previous></div></a></li>
<li><a href="#nogo"><div id="goto_last">Go to Last>></div></a></li>
</ul>
</li>
<li>
<a href="#nogo"><div id="div_rssims_reports">Reports</div></a>
<ul>
<li><a href="#nogo"><div id="export_excel">Export to Excel Table</div></a></li>
<li><a href="#nogo" onclick="sims_compile_htmltable()"><div id="export_html">Export to HTML Table</div></a></li>
<li><a href="#nogo" onclick="sims_compile_htmllist()"><div id="export_list">Export to HTML List</div></a></li>
<li><a href="#nogo" onclick="sims_compile_contactcard()"><div id="export_contact">Export as Contact Card</div></a></li>
</ul>
</li>
<li>
<a style="cursor: pointer;" onclick="sims_logoff()"><div id="div_rssims_logoff">Logoff</div></a>
</li>
</ul>
</div>
</div>
试试这个
document.getElementById("edit").children[0].style.display = "none"
添加新内容是编辑的第一个位置
document.getElementById("edit").children[0].style.display = "none"
添加新项是编辑的第一个位置您没有删除正确的项,因为[1]将选择第二个子项。要获取第一个,请改用[0]:
对于给出的第一个示例,这可能是因为它是第二个元素。您没有删除正确的项,因为[1]将选择第二个子项。要获取第一个,请改用[0]:
document.getElementById("file").children[1].style.display = "none";
对于给出的第一个示例,这可能是因为它是第二个元素
document.getElementById("file").children[1].style.display = "none";
正在隐藏的“保存”菜单项是的第二个子项
正在隐藏的“删除”菜单项是的第二个子项
如果要隐藏“添加新”子菜单项,则应将第一个子菜单项作为目标,如下所示:
document.getElementById("edit").children[0].style.display = "none";
document.getElementById("edit").style.display = "none";
如果要隐藏包含所有项目的整个“编辑”子菜单,应将目标设置为:
document.getElementById("edit").children[0].style.display = "none";
document.getElementById("edit").style.display = "none";
这确实指出了使用儿童作为选择菜单项的手段的一个重要缺点。如果项目的顺序改变,Javascript也会改变
您最好通过类名或ID来确定项目的目标。如果从每个项目的a链接中删除内部div,这是多余的,并替换li元素上的id,则可以只针对所需的菜单项:
<ul id="edit">
<li id="div_rssims_edit_addnew"><a href="#nogo" onclick="rssims_addnew()">Add new</a></li>
<li id="delete"><a href="#nogo" onclick="sims_delete()">Delete</a></li>
<li id="clear"><a href="#nogo" onclick="sims_reset()">Clear Form</a></li>
</ul>
document.getElementById("div_rssims_edit_addnew").style.display = "none";
无论项目的顺序如何,这总是有效的。如果元素不在页面中,它仍然会出错。为了防止出现这种情况,最好使用jQuery之类的javascript库来执行以下操作:
正在隐藏的“保存”菜单项是的第二个子项
正在隐藏的“删除”菜单项是的第二个子项
如果要隐藏“添加新”子菜单项,则应将第一个子菜单项作为目标,如下所示:
document.getElementById("edit").children[0].style.display = "none";
document.getElementById("edit").style.display = "none";
如果要隐藏包含所有项目的整个“编辑”子菜单,应将目标设置为:
document.getElementById("edit").children[0].style.display = "none";
document.getElementById("edit").style.display = "none";
这确实指出了使用儿童作为选择菜单项的手段的一个重要缺点。如果项目的顺序改变,Javascript也会改变
您最好通过类名或ID来确定项目的目标。如果从每个项目的a链接中删除内部div,这是多余的,并替换li元素上的id,则可以只针对所需的菜单项:
<ul id="edit">
<li id="div_rssims_edit_addnew"><a href="#nogo" onclick="rssims_addnew()">Add new</a></li>
<li id="delete"><a href="#nogo" onclick="sims_delete()">Delete</a></li>
<li id="clear"><a href="#nogo" onclick="sims_reset()">Clear Form</a></li>
</ul>
document.getElementById("div_rssims_edit_addnew").style.display = "none";
无论项目的顺序如何,这总是有效的。如果元素不在页面中,它仍然会出错。为了防止出现这种情况,最好使用jQuery这样的javascript库:。不确定这是否能解决问题,但document.getElementByIdedit.children[1]是删除选项,而不是添加新选项。“添加新内容”应该是document.getElementByIdedit.children[0]。可能应该是document.getElementByIdedit.children[0]。style.display=none//Add new您要隐藏的菜单项是什么?如果查看此项,它将隐藏文件列表中的保存项和编辑列表中的删除项。您可以通过更改在children中选择的索引来更改哪个项目…不确定这是否能解决问题,但document.getElementByIdedit.children[1]是删除选项,而不是添加新选项。“添加新内容”应该是document.getElementByIdedit.children[0]。可能应该是document.getElementByIdedit.children[0]。style.display=none//Add new您要隐藏的菜单项是什么?如果查看此项,它将隐藏文件列表中的保存项和编辑列表中的删除项。您可以通过更改在“子项”中选择的索引来更改哪个项。。。