首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开特定div的弹出窗口。

打开特定div的弹出窗口。
EN

Stack Overflow用户
提问于 2015-05-12 17:36:25
回答 4查看 927关注 0票数 1

当我单击class="team-single" of id="team-1"时,它应该打开特定id的.team-popup

但似乎不起作用。

代码语言:javascript
复制
<div class="team-single" id="team-1">
  <div class="team-popup">     
      <span class="close-btn">x close</span>    
  </div>
</div>
<div class="team-single" id=team-2>
  <div class="team-popup">        
      <span class="close-btn">x close</span>   
  </div>
</div>

这就是我用在js上的

代码语言:javascript
复制
jQuery(".team-single").click(function(e) {
    var currentID = this.id || "No ID!";    
    jQuery(" #currentID .team-popup").css({
        display :"block",
    });
  });
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-05-12 17:39:28

使用find()this获取当前上下文

代码语言:javascript
复制
jQuery(".team-single").click(function(e){ 
     jQuery(this).find(".team-popup").css({ display :"block", 
    });
//Or 
// jQuery(".team-popup",this).css({ display :"block", 
    });
});

为什么您的代码不能工作:

您将ID存储在变量中,要在选择器中访问该变量,请使用:

代码语言:javascript
复制
jQuery("#"+currentID+" .team-popup").
票数 1
EN

Stack Overflow用户

发布于 2015-05-12 17:39:13

我会减少你必须做的事情:

代码语言:javascript
复制
jQuery(".team-single").click(function(e) {
    jQuery(this).find('div.team-popup').show();
});
票数 3
EN

Stack Overflow用户

发布于 2015-05-12 17:41:32

变量不会在字符串中被替换。如果要在字符串中使用变量,则必须使用串联:

代码语言:javascript
复制
$("#" + currentID + " .team-popup")

但是使用$(this).find()的答案是更好的解决方案。我只是张贴这篇文章,这样你就可以理解你的代码到底出了什么问题。

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

https://stackoverflow.com/questions/30197840

复制
相关文章

相似问题

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