-1

我有一组由 javascript 函数选择的 html 元素,我想将其传递给 jquery 并禁用此列表中的所有 html 链接。请告诉我,如何实现这一点。

var links = window.frames[1].document.getElementsByTagName("a");

如果是普通的单个 html 页面,那么我可以使用下面的 jquery 函数选择链接并禁用链接。由于我有与此相关的 html 框架,因此 jquery 无法选择框架元素。

所以我使用javascript选择了它,那就是“链接”。

$("a").click(function (event) {
        event.preventDefault();
    });

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="-1">

</head>
<body>
<div id="wrapper">
    <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
        <div class="navbar-default sidebar" role="navigation">
            <div class="sidebar-nav navbar-collapse">
                <ul class="nav" id="side-menu">
                    <li>
                    </li>
                    <li>
                        <a id ="test" href="/Frame1.html" target="detail"><i class="demo-icon icon-chart-line fa-fw"></i> Status<span class="demo-icon icon-right-open-1"></span></a>
                    </li>
                    <li>
                        <a href="/Frame2.html" target="detail"><i class="demo-icon icon-flow-tree fa-fw"></i> Setup<span class="demo-icon icon-right-open-1"></span></a>
                    </li>

                </ul>
                <div id="navfooter">

                    <div id="copyright-loader">
                        <!--<i class="demo-icon icon-spin6 animate-spin" style='font-size:6em; color:#31bbd6;'></i> <br><br>-->
                        <img alt="logo" class="img-responsive" src="../images/logo.jpg" />
                    </div>

                    <br clear='all' /> <br />

                </div>

            </div>
        </div>
    </nav>
</div>
<p>&nbsp;</p>
</body>
</html>

谢谢

4

1 回答 1

1

添加一个 css 样式的 pointer-event:none 到锚标记。

document.getElementsByTagName("a")[0].style.pointerEvents = "none";

用chrome和firefox测试它工作正常。但在 IE 中它不起作用

或从锚标记中删除 href 属性

document.getElementsByTagName("a")[0].removeAttribute("href");

于 2016-04-06T14:19:36.010 回答