-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 = "なし";

chrome と firefox でテストすると、正常に動作します。しかし、IEでは機能しません

または、アンカータグから href 属性を削除します

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

于 2016-04-06T14:19:36.010 に答える