0

クラスを持つdivがあるとしましょう.row

現在、私のライブクリック機能は次のようになっています。

$(".row").live('click',function(event) {

私がやりたいのは、この関数を、クラスが正確なdiv内にあるdivにのみ適用することですdata。つまり

<div class="row">!don't apply!</div>
<div class="data">
   <div class="row">apply1!</div>
   <div class="row">apply2!</div>
</div>

どうやってやるの?

4

5 に答える 5

3

jQuery を使用する.on()

$('.data').on('click', '.row', function(){
  // function stuff
});

も非同期でロードされている場合は.data、「さらに一歩」進むことができます

$('body').on('click', '.data .row', function(){
  // function stuff
});

'body'ラップセレクターに置き換えるだけです...

于 2012-05-03T09:33:05.437 に答える
1
$(".data > .row").live('click',function(event) {

});

ただし、live()代わりに次のように使用しないようにしてください。

$('.data').on('click', '.row', function() {

});

または、使用できますdelegate()

$(".data").delegate(".row", "click", function(){

});
于 2012-05-03T09:32:14.377 に答える
1

セレクターをもう少し具体的にすることができます

$(".data > .row").live('click',function(event) {...
于 2012-05-03T09:33:19.587 に答える
0
$('.data > .row').live('click',function(event) {

ほらね。

CSS セレクタ > は「真の」子のみを選択します。孫は不可。

また、live() は推奨されなくなったため、on() を使用してください。

于 2012-05-03T09:32:06.347 に答える
0
$('.data > .row').live('click',function(event) {
于 2012-05-03T09:35:32.557 に答える