首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery选择单标签类

jquery选择单标签类
EN

Stack Overflow用户
提问于 2015-10-16 17:01:38
回答 4查看 193关注 0票数 0

看起来有点琐碎,但很难解决,我有一个jquery函数来选择标签的类,但是问题是,它选择标签下面的每个标签也是按结构顺序点击的,因为我只想要第一个。

例如,如果我有

代码语言:javascript
运行
复制
<div class="1">
  <div class="2">
      <div class="3">
          <p class="4">Hello World</p>
      </div>
  </div>
</div>

我点击了(p)标签,上面写着你好世界,我会收到一个警告,上面写着4,3,然后2,1,但就像我说的,我只想要第一个女巫在这个例子中是4。

这是我的jquery代码

代码语言:javascript
运行
复制
$("*").dblclick(function(){
    if(!$(this).hasClass("") && !$(this).hasClass("main")){
        alert($(this).attr('class'));
    }
});

我知道这个问题正在发生,因为从技术上讲,我是在点击所有的标签,这样它就可以继续循环,但是在第一个类被选中之后,我仍然需要一种打破它的方法,或者更好的方法是只选择最上面的对象。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-10-16 17:04:25

只需向函数添加返回,如下所示:

代码语言:javascript
运行
复制
$("*").dblclick(function(){
if(!$(this).hasClass("") && !$(this).hasClass("main")){
    alert($(this).attr('class'));
    return false;
}
});
票数 1
EN

Stack Overflow用户

发布于 2015-10-16 17:05:56

我会将事件传递给您的click函数,在您完成您的逻辑之后,使用event.stopPropagation()。这样可以防止事件冒泡到父元素。

代码语言:javascript
运行
复制
$("*").dblclick(function(event){
    if(!$(this).hasClass("") && !$(this).hasClass("main")){
        alert($(this).attr('class'));
    }
    event.stopPropagation();
});
票数 1
EN

Stack Overflow用户

发布于 2015-10-16 17:10:50

运行此示例并查看您的控制台。

代码语言:javascript
运行
复制
$("body > div").dblclick(function(){
   console.log($(this).attr('class'));
});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="1">
  <div class="2">
      <div class="3">
          <p class="4">Hello World</p>
      </div>
  </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33175810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档