Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 排除div中的选择器_Jquery - Fatal编程技术网

Jquery 排除div中的选择器

Jquery 排除div中的选择器,jquery,Jquery,我有一个div,我想在其上启用单击功能,但不是div内的“a”标记或它正在切换的div: HTML <div class='row client-outstandings'> <div class='twelve columns'> <div class='panel'> <h3><a href="{% url clients.views.view_client c.client.id %}" target="_bl

我有一个div,我想在其上启用单击功能,但不是div内的“a”标记或它正在切换的div:

HTML

 <div class='row client-outstandings'>
  <div class='twelve columns'>
    <div class='panel'>
      <h3><a href="{% url clients.views.view_client c.client.id %}" target="_blank">{{ c.client }}</a> - {{ c.total|currency }}</h3>
      <div class='client-outstandings-details' style='display:none;'><a href="">Blah blah</a> </div>
    </div>
  </div>
</div>
<div class='row client-outstandings'>
  <div class='twelve columns'>
    <div class='panel'>
      <h3><a href="{% url clients.views.view_client c.client.id %}" target="_blank">{{ c.client }}</a> - {{ c.total|currency }}</h3>
      <a href="" class="outstandingsAnchor">Blah blah</a>
    </div>
  </div>
</div>
我试图使“.client-outstandings”div或“.client-outstandings-details”中的任何“a”标记都不会触发切换

有什么想法吗?

你可以试试这个

$('.client-outstandings').live('click', function () {
    $(this).find('.client-outstandings-details').toggle('fade');
});

$('.client-outstandings a').live('click', function(e){
    e.stopPropagation();
    return true;
});

但我建议您在上使用
。在
上使用

$(document).on('click', '.client-outstandings', function () {
    $(this).find('.client-outstandings-details').toggle('fade');
});

$('.client-outstandings').on('click', 'a', function(e){
    e.stopPropagation();
    return true;
});

.

live
方法已被弃用。您可以在
方法上使用

$(document).on('click', '.client-outstandings', function () {
为了防止事件冒泡,可以使用
stopPropagation
方法:

$('a').click(function(event) {
    event.stopPropagation()
})

请注意,要使用
方法上的
委派事件,应使用静态父元素(更好)或文档对象

我认为您正在寻找以下内容:

HTML

 <div class='row client-outstandings'>
  <div class='twelve columns'>
    <div class='panel'>
      <h3><a href="{% url clients.views.view_client c.client.id %}" target="_blank">{{ c.client }}</a> - {{ c.total|currency }}</h3>
      <div class='client-outstandings-details' style='display:none;'><a href="">Blah blah</a> </div>
    </div>
  </div>
</div>
<div class='row client-outstandings'>
  <div class='twelve columns'>
    <div class='panel'>
      <h3><a href="{% url clients.views.view_client c.client.id %}" target="_blank">{{ c.client }}</a> - {{ c.total|currency }}</h3>
      <a href="" class="outstandingsAnchor">Blah blah</a>
    </div>
  </div>
</div>

-{{c.总计|货币}
jQuery

$(function () {
    $(document).on('click', 'a.outstandingsAnchor', toggle(function() {(
       $(this).wrap('<div class="client-outstandings-details" />');
    }, function() {
       $(this).unwrap();
   )};
});
$(函数(){
$(文档)。在('click','a.outstandingsAnchor',切换(函数(){(
$(此).wrap(“”);
},函数(){
$(this.unwrap();
)};
});

您的问题不清楚,请澄清您看不到什么触发器,因为您的a标记位于div标记内使用。on代替。live使用您的代码将其更改为on我得到:未捕获引用错误:未定义stopPropagation