Javascript HTML列表隐藏顶层
我有一张这样的清单Javascript HTML列表隐藏顶层,javascript,html,Javascript,Html,我有一张这样的清单 关键1 比利时 法国 键2 德国 键3 意大利 美国 如何仅隐藏外部列表(键1、键2、键3) 隐藏而不是删除,因为排序仅对键进行 结果应该是 比利时 法国 德国 意大利 美国 感谢您的支持以下内容似乎可以满足您的需要 HTML: .这应该可以做到: HTML: 关键1 比利时 法国 键2 德国 键3 意大利 美国 JS: $(函数(){ $(“ol ul li”)。每个(函数(){ $(“ol”).append(“”+$(this.htm
- 比利时
- 法国
- 德国
- 意大利
- 美国
- 比利时
- 法国
- 德国
- 意大利
- 美国
感谢您的支持以下内容似乎可以满足您的需要 HTML:
.这应该可以做到: HTML:
关键1
- 比利时
- 法国
键2
- 德国
键3
- 意大利
- 美国
JS:
$(函数(){
$(“ol ul li”)。每个(函数(){
$(“ol”).append(“”+$(this.html()+” ”);
});
$(“ol>li:has(ul)”).hide();
});
试试这个:
<ul>
<li>Key one
<ul>
<li>Belgium</li>
<li>France</li>
</ul></li>
<li>Key two
<ul>
<li>Germany</li>
</ul></li>
<li>Key three
<ul>
<li>Italy</li>
<li>USA</li>
</ul></li>
希望它能工作,还没有测试过。。。但应使用文本缩进:-3000px
编辑:更改文本缩进:无;文本缩进:0px 与前面的答案不同,如果您有访问权限并且可以控制HTML的外观,您可以创建如下列表:
<ul>
<li sort="Key1">Belgium</li>
<li sort="Key1">France</li>
<li sort="Key2">Germany</li>
<li sort="Key3">Italy</li>
<li sort="Key3">USA</li>
</ul>
比利时
法国
德国
意大利
美国
然后,您可以使用自定义的
排序属性而不是外部列表进行排序。演示不起作用,或者您的代码不起作用?记住,我猜的是你的HTML。什么是看到像这样的东西我仍然可以看到箭头,似乎列表中有css格式,因此我仍然可以看到项目符号,但不能看到“键”字显示你看到了什么。显示相关的HTML和该HTML的CSS。制定一个计划,这样我们就可以利用你所拥有的,而不是猜测你在做什么。帮助我们帮助你。我忘了说我的HTML、JS编程技能非常有限,我猜这个函数是Jquery?我在脚本部分复制了这个函数,但似乎什么都没有发生是的,那就是jQuery。在您的
中添加此行:
<ol>
<li>Key1
<ul>
<li>Belgium</li>
<li>France</li>
</ul>
</li>
<li>Key2
<ul>
<li>Germany</li>
</ul>
</li>
<li>Key3
<ul>
<li>Italy</li>
<li>USA</li>
</ul>
</li>
</ol>
$(function() {
$("ol ul li").each(function() {
$("ol").append("<li>" + $(this).html() + "</li>");
});
$("ol > li:has(ul)").hide();
});
<ul>
<li>Key one
<ul>
<li>Belgium</li>
<li>France</li>
</ul></li>
<li>Key two
<ul>
<li>Germany</li>
</ul></li>
<li>Key three
<ul>
<li>Italy</li>
<li>USA</li>
</ul></li>
ul li {
text-indent: -3000px;
display:block;
}
ul li ul li {
text-indent: 0px;
}
<ul>
<li sort="Key1">Belgium</li>
<li sort="Key1">France</li>
<li sort="Key2">Germany</li>
<li sort="Key3">Italy</li>
<li sort="Key3">USA</li>
</ul>