jQueryでタグクリック<li>
時にタグを非表示にしたい。<a>
<ul>
<li>
<a href="'>Something</a>
</li>
<li>
<a href="'>Something</a>
</li>
<li>
<a href="'>Something</a>
</li>
</ul>
つまり、誰かが link( <a></a>
) をクリックすると、その親<li>
が非表示になります。
jQueryでタグクリック<li>
時にタグを非表示にしたい。<a>
<ul>
<li>
<a href="'>Something</a>
</li>
<li>
<a href="'>Something</a>
</li>
<li>
<a href="'>Something</a>
</li>
</ul>
つまり、誰かが link( <a></a>
) をクリックすると、その親<li>
が非表示になります。
(function() {
$("ul li a").click(function(e) {
e.preventDefault();
$(this).parent().hide();
});
})(jQuery);
「1つの」jQuery関数も試してください
(function() {
$("ul li a").one('click', function(e) {
e.preventDefault();
$(this).parent().hide();
});
})(jQuery);
.clickでイベントを処理してから、 .parentメソッドと.hideメソッドを使用します。
$("a").click(function(){
$(this).parent().hide(); // this is the link element that was clicked
})
上記のコードは、リンクがリスト要素 ( <li>
) に直接含まれていることを前提としています。そうでない場合は、次の.parent
ようにセレクターをメソッドに渡すことができます。
$(this).parent("li").hide();
これにより、リンクの祖先が検索され、<li>
.
false を返す
通常、タグをクリックする<a>
と、ブラウザーはタグの href に移動します。したくない場合はreturn false;
、クリック ハンドラーから行うか、 false: を返す href を追加します<a href="javascript:void(0)">Link</a>
。これについては、この質問でさらに議論があります。
これを行うにはさまざまな方法があります
次の理由により、コードのバリエーションが必要になる場合があります。
.preventDefault()
false を返す代わりに、イベント オブジェクトの を使用して、ブラウザーがアドレスを変更しないようにすることができます。.click
(function() { /* code */})(jQuery);
。これは後でコードを構成するのに役立ちますが、初心者にはお勧めしません。基本的に、コード内の望ましくない副作用を回避するのに役立ち、.noConflictを使用できるようになります。li
親を非表示にし、ハイパーリンクをクリックするデフォルトのアクションを防止するこれを試してください。http://api.jquery.com/event.preventDefault/を参照してください。
$(function() {
$("a").click(function(e) {
e.preventDefault();
$(this).parent().hide();
});
});
を使用.parent()
して、要素の親をターゲットにし、それ.hide()
を非表示にすることができます。これらの関数の使用方法の詳細については、jQuery のドキュメントを参照してください。.preventDefault()
また、ブラウザがリンクをたどらないようにするためにも使用する必要があります。
$(function() {
$('a').click(function(e) {
e.preventDefault();
$(this).parent().hide();
});
});
使用することを忘れないでくださいreturn false;
$('a').click(function(){
$(this).parent().hide();
return false;
});
$( "a" ).click( function(){
$( this ).parent().hide();
return false;
} );
実際の例はここにあります http://jsfiddle.net/shinyakoizumi/aQanZ/
$('a').click(function(){
$(this).parent('li').hide();
});