私はdivのリストを持っており、jQueryを使用して特定の 'li'上でclickイベントをキャプチャしたいと考えています。divへの特定のliの選択
私のHTML構造は次のとおりです。
<div class="select area-select">
<div class="texto-select">Área</div>
<div class="lista-select lista-area">
<ul class="ul-area">
<li id="0" class="li-area">
<div class="circulo" style="border-color:#18549c"></div>
<div class="textodesplegables texto-area">Nombre del área</div>
</li>
<li id="1" class="li-area">
<div class="circulo" style="border-color:#8bca5b"></div>
<div class="textodesplegables texto-area">Nombre del área</div>
</li>
<li id="2" class="li-area">
<div class="circulo" style="border-color:#f9a61d"></div>
<div class="textodesplegables texto-area">Nombre del área</div>
</li>
</ul>
</div>
</div>
私はとのliクリックをキャプチャしてみました:
$('ul.ul-area li').click(function() {
$('.campos-para-filtrar').empty();
filtroaniadir = $(this).attr("id");
aniadirFiltro(filtroaniadir);
cargarFiltros();
});
しかし、私は、Liをクリックしてください場合は、jQueryのは<div class="lista-select lista-area">
クリックしていないのliクリックをキャプチャします。
誰も私に何か考えてもらえますか?
'aniadirFiltro()jqueryのを使用しなくてもバージョンが必要な場合は、cargarFiltros(); 「これらは何ですか? –
関数の引数として 'click'イベントを渡す必要があります。そのイベントには、クリックされた要素を参照する '.target'プロパティがあります。クリックされた要素から始まる 'li'を見つけるには' .closest() 'を使います。 '.click()'は '.on( 'click')'のショートカットに過ぎないことに注意してください。 '.on()'を使うと、あなたのイベントバインディングをより良くコントロールすることができます。 –
「* [mcve] *」ガイドラインを読んでください。呼び出している関数を見ることができず、 '.campos-para-filtrar'要素がないので、何が動作していないのか分かりません。 –