2011-01-31 11 views
0

ビュータイプによっては、アンカータグなどを使用しないことがある動的ページを作成しました。基本的には、クリックするとページがアンカーにジャンプするかどうかを制御できるようにしたい。 jqueryを使用してアンカータグを非表示にすることは可能ですか?必要に応じてアンカーを再度有効にし、ブラウザのアドレスバーに現在のアンカーを常に表示する必要があります。 FireFoxでは動作するようですが、Internet Explorerでは動作しません。jQueryを使用してアンカーを非表示にする

私は3つのセクションがあります、コンテンツ '目次'、およびJavaScript(jQueryの)コード内容の

<a id="expandLink0" class="expandLinksList" href="#green">What is green purchasing</a><br> 
<a id="expandLink1" class="expandLinksList" href="#before">Before you buy</a><br> 

内容

<ul id="makeIntoSlideshowUL">' 
<li id="slideNumber0" class="slideShowSlide"> 
    <a name="green"></a> 
    <div>Green Purchasing refers to the procurement of products and service...<a href="#topOfPageAnchor" class="topOfPageAnchorClass">Back to Top</a></div> 
</li> 
<li id="slideNumber1" class="slideShowSlide"> 
    <a name="before"></a> 
    <div>We easily accomplish the first four bullet points under...<a href="#topOfPageAnchor" class="topOfPageAnchorClass">Back to Top</a></div> 
</li> 
</ul> 

jQueryオンページロード

$(".slideShowSlide").each(function() { 
$(this).children(":first-child").hide(); 
}); 

jQueryの私はまた、それらを「無効」にすべてのアンカー名に余分な文字を付加しようとしましたが、IEは使って名前を変更しません再有効化リンク

$(".slideShowSlide").each(function() { 
$(this).children(":first-child").show(); 
}); 

へattr( "name")。それを私に任せている唯一の実際の操作はremove()です。

$(".slideShowSlide").each(function() { 
    $(this).children().first().hide(); 
}); 

を、あるいはこのよう:

+5

をあなたの質問は、DOMの選択が含まれている場合、あなたは本当に選択されているのマークアップの例を提供する必要があります。 – user113716

+0

@patrick、この例ではこれで十分です。 –

+0

'alert($("。slideShowSlide> a:first-child "))を実行すると何が得られますか?どのバージョンのjQueryを使用していますか? – user113716

答えて

0

このようにそれをやってみ

$(".slideShowSlide").each(function() { 
    $(this).children(':first').hide(); 
}); 
+0

また、エリックバーリ、あなたは本当にトグルを使用する必要があります。物事をDRYにする:) –

関連する問題