2012-04-25 25 views
0

私は以下のドロップダウンメニューを持っていますが、各メニューをクリックすることによってどのメニューを対応するページにリダイレクトできますか?どのようにすれば1つのjavascript関数を使用して可能ですか? ありがとうございます...JavaScriptを使って新しいJSPページを開く方法

<div> 
<ul> 
    <li id=home onclick="show(this.id)"><a href="home.jsp">Home</a></li> 
    <li id=collection onclick="show(this.id)><a href="collection.jsp">Collection</a></li> 
    <ul> 
     <li id=men onclick="show(this.id)><a href="men.jsp">Men</a></li> 
     <li id=women onclick="show(this.id)><a href="women.jsp">Women</a></li> 
    </ul> 
    <li id=contact onclick="show(this.id)><a href="contact.jsp">Contact</a></li> 
</ul> 
</div> 
+5

アンカータグではありませんか? – Tejs

+3

質問に問題の名前を記入してください。 "java script getElementById"は実際にあなたの質問とは関係ありません。 –

+3

いくつかのonclick属性の "閉じ"引用符がないため、リンクが機能していない可能性があります。 – Niko

答えて

0

あなただけの場合には、コンポーネントのIDで、パラメータに基づいてリダイレクトするJS関数oを必要とする場合、これが作業を行います。

<script type="text/javascript"> 
    var show = function(id) { 
     window.location.href = id + '.jsp'; 
    }; 
</script> 

あなたはDOMをナビゲートして、リンクのを取得したい場合href属性の使用:

document.getElementById(id).firstChild.href 

IDで参照されるコンポーネント内の最初の要素がリンクタグであることを考慮してください。

+0

ありがとうございます.. – lina

1

はいできます。あなたのケースで

使用window.open("URL") URLがthis.id

である。また、あなたはwindow.location

を更新することができニコは、あなたが閉じ引用符を必要と言ったように、ここで

.. onclick="window.open(this.id)" .. 
0

http://www.tizag.com/javascriptT/javascriptredirect.php

を続きを読むこれを試してみてください?

$("div > ul li a").click(function() { 
    window.location.href += "/" + $(this).parent()[0].id; 
}); 

HTMLを変更していないセレクタを使用しようとしました。

+1

'a'タグは実際には' id'を持っていません。 –

+0

修正して修正してください。キャッチをありがとう。 –

0

これは意味をなさない。

エンドユーザが<li>の欄にあるのリンクをクリックすると、特定の機能要件がリンクを呼び出すことが分かりました。これを達成するには、<a>要素のCSS displayプロパティをblockに設定してください。このようにして、リンクは親要素のスペース全体に広がります。このCSS

#menu li a { 
    display: block; 
} 

<ul id="menu"> 
    <li><a href="home.jsp">Home</a></li> 
    <li><a href="collection.jsp">Collection</a></li> 
    <ul> 
     <li><a href="men.jsp">Men</a></li> 
     <li><a href="women.jsp">Women</a></li> 
    </ul> 
    <li><a href="contact.jsp">Contact</a></li> 
</ul> 

醜いJavaScriptのハックの必要はありません。現在のウィンドウで新しいJSPページの場所を開くのは、window.location = 'some.jsp';によって実行されます。しかし、具体的な問題に適切な解決策を使用する場合、これは必要ではありません。将来の質問では、特定の機能要件に適したソリューションだと思ったソリューションだけに集中するのではなく、機能要件について詳しく説明してください。

関連する問題