1
<div id="subNav-Requests" class="suit-sub-nav" style="">
  <ul class="page-container">
    <li>
    <a class="navLink0" href="/MyApp/reporting/list/data.do">
        <span>Report Data</span>
    </a>
    </li>
  </ul>
</div>

私はこのようなコードを持っています。のクリックをシミュレートしようとしています'Report Data'。私がしようとしているのは

var nav = 'div#subNav-' + mainNavId; //results in 'div#subNav-Requests'
$(nav+' a.navLink0').trigger('click'); 

エラーなし、何も起こりません。私もこれを試しました

$('a.navLink0').trigger('click'); 

同じ効果があります。を選択するsubNav-Requests必要があります。そのようなものは他にもたくさんあります。たとえばsubNav-ReportssubNav-Allergies同じ構造でnavLinks内部に多くのものがあるなどです。

4

3 に答える 3

3

要素のクリックを呼び出すと、要素に関連付けられているイベント ハンドラーが実行されます。ブラウザを a タグの href に送信しません。それを行うには、私が考えることができる最善の方法は次のとおりです。

var href = $('a.navLink0').attr('href');
window.location.href = href;

それはあなたのニーズを満たしていますか?

于 2013-02-21T18:20:38.077 に答える
1

してみてください$('a.navLink0', nav).click();

于 2013-02-21T18:16:51.207 に答える
0

リンクの実際のクリックをシミュレートできないことを私が知っている限り、あなたがしていることは単にクリックイベントをトリガーすることですが、それだけでは十分ではありません。

次の方法でイベントのリスナーを設定できます

$('a.navLink0').click(function() {
    window.location = $(this).attr("href");
});

次にクリックイベントをトリガーしますが、なぜこれを行うのですか?リダイレクトはあなたの目的によりよく適合しませんか?

window.location = $('a.navLink0').attr("href");
于 2013-02-21T18:21:10.110 に答える