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

我有一张这样的清单

  • 关键1
    • 比利时
    • 法国
  • 键2
    • 德国
  • 键3
    • 意大利
    • 美国
  • 如何仅隐藏外部列表(键1、键2、键3) 隐藏而不是删除,因为排序仅对键进行

    结果应该是

    • 比利时
    • 法国
    • 德国
    • 意大利
    • 美国

    感谢您的支持

    以下内容似乎可以满足您的需要

    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>