html - 通过单击另一个更改 html 标记的样式

标签 html css

我有以下代码,parentAppliance 是左侧主导航表的一部分,将鼠标悬停在“Appliance”上时,我看到一个包含“health”的子表。现在我希望当我点击健康时子表格消失,有什么想法吗?

CSS:

.childAppliance
    {
        display:none;
    }
.parentAppliance:hover .childAppliance
    {
        display: block;
        top: 50px;
        left: 130px;
    }

HTML:

<li id="Appliance" itemid="Appliance" class="parentAppliance" role="presentation">
    <a href="#/appliance_status.home" hiddentitle="Appliance" id="ui-id-83" class="ui-corner-all" tabindex="-1" role="menuitem" aria-haspopup="true" title="" data-original-title="">
        <span class="ui-menu-icon ui-icon ui-icon-carat-1-e"></span><ins class="ui-navigation-static-menu-icon ui-navigation-static-menu-icon-backup"></ins>
        <span class="ui-navigation-static-menu-text" style="display: inline;">Appliance</span>
    </a>
    <ul id="ApplianceSubTable" class="ui-menu ui-widget ui-widget-content ui-corner-all childAppliance" role="menu" aria-hidden="true" aria-expanded="false" aria-labelledby="ui-id-83">
        <li itemid="Health" class="ui-menu-item" role="presentation">
            <a href="#/appliance_status.home" hiddentitle="Health" id="ui-id-33" class="ui-corner-all ui-state-focus applianceFocus" tabindex="-1" role="menuitem" title="">
                <span class="ui-navigation-static-menu-text">Health</span>
            </a>
        </li>
    </ul>
</li>

最佳答案

尝试向父设备添加一个 onmouseover 事件和一个额外的 JavaScript 方法来重置子显示状态。

<html>
<head>
    <style>
     .childAppliance
    {
        display:none;
    }
    .parentAppliance:hover .childAppliance
    {
        display: block;
        top: 50px;
        left: 130px;
    }
    </style>
    <script type="text/javascript">
        function toggle(obj) { 
            var element = document.getElementById(obj);

            if(element.style.display == 'none')
                element.style.display = 'block';
            else
                element.style.display = 'none';
        }

        function show(obj) {
            var element = document.getElementById(obj);
            element.style.display = '';
        }
    </script>
</head>
<body>


<li id="Appliance" itemid="Appliance" class="parentAppliance" role="presentation">
    <a href="#/appliance_status.home" hiddentitle="Health" id="A1" 
        class="ui-corner-all ui-state-focus applianceFocus" tabindex="-1" role="menuitem" title="" 
        onclick="toggle('ApplianceSubTable');" onmouseover="show('ApplianceSubTable');">

    <!--<a href="#/appliance_status.home" hiddentitle="Appliance" id="ui-id-83" class="ui-corner-all" tabindex="-1" role="menuitem" aria-haspopup="true" title="" data-original-title="">-->
        <span class="ui-menu-icon ui-icon ui-icon-carat-1-e"></span><ins class="ui-navigation-static-menu-icon ui-navigation-static-menu-icon-backup"></ins>
        <span class="ui-navigation-static-menu-text" style="display: inline;">Appliance</span>
    </a>
    <ul id="ApplianceSubTable" class="ui-menu ui-widget ui-widget-content ui-corner-all childAppliance" role="menu" aria-hidden="true" aria-expanded="false" aria-labelledby="ui-id-83">
        <li itemid="Health" class="ui-menu-item" role="presentation">
            <a href="#/appliance_status.home" hiddentitle="Health" id="ui-id-33" class="ui-corner-all ui-state-focus applianceFocus" tabindex="-1" role="menuitem" title="">
                <span class="ui-navigation-static-menu-text">Health</span>
            </a>
        </li>
    </ul>
</li>
</body>
</html>

关于html - 通过单击另一个更改 html 标记的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20641781/

相关文章:

javascript - 使用Java script/jq创建文件并将其保存在用户电脑中

html - 如何在CSS中实现曲线背景?

javascript - 尝试在 SVG 路径上为飞机制作动画

css - 如何在CSS中创建一个对话泡泡?

html - Bootstrap 4 自定义滚动条

html - 嵌套div和绝对位置问题

css - 在 html5 css3 中创建类似页脚的多列

html & css - 在每个导航菜单项之间使用不同的图像作为分隔符

javascript - 使用 jQuery 加载更多按钮

php - 如何制作一个php模板引擎?