0

重複の可能性:
innerDocument.getElementById(<要素 ID>).click(); Firefox/chrome では動作しませんが、IE では動作します

タブ付きのhtmlページがあります。

                <ul class="tabs">
                    <li><a href="#tab1" id='accomodation'>Accomodation</a></li>
                    <li><a href="#tab2" id='relaxation'>Relaxation</a></li>
                    <li><a href="#tab3" id='recreation'>Recreation</a></li>
                  </ul>

クリックで別の html から来て、以前にクリックしたものに関するタブを表示したい (Cookie に保存します)。

したがって、タブの ID を追加し、このページが読み込まれると、Cookie から ID を読み取る関数を呼び出して、関連するタブをクリックします。ページが読み込まれると、関数が実行されます。

<body onLoad="where_from();">

関数は次のとおりです。

function where_from()
{
    if (readCookie('came_from')!="false")
    {
        pos=readCookie('came_from');
        if (pos=='relaxation')
            document.getElementById('relaxation').click();

        if (pos=='recreation')
            document.getElementById('recreation').click();
}

}

IE と Firefox では完璧に動作しますが、Chrome では何も起こりません

誰が何が悪いのか助けてくれますか?

getelementById.click 呼び出しの周りに何か問題があると感じていますが、ここで説明されている解決策が見つかりませんでした。

助けてください!!

4

3 に答える 3

0

ページを変更するためにタブリンクをクリックする必要はないと思います。

あなたはそれを行うことができますdocument.location.href

function where_from()
{
    if (readCookie('came_from')!="false")
    {
        pos=readCookie('came_from');
        if (pos=='relaxation')
            document.location.href = document.getElementById('relaxation').href;

        if (pos=='recreation')
            document.location.href = document.getElementById('recreation').href;
     }
}

これはjsfiddleの例で、ここからコピーされます。

于 2012-04-06T09:23:54.180 に答える
0

が機能していない場合 document.getElementById('relaxation').click();、これはあなたのために働くかもしれません:$('#relaxation').click();

元:

$('#relaxation').click(function(){

//Onclick do something

});

Jqueryサポートファイルをダウンロードするには、http://jquery.com/にアクセスしてください

于 2012-04-06T09:26:06.783 に答える