首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery和HTML -单击当前DVI框id以显示子DVI框内容

jQuery和HTML -单击当前DVI框id以显示子DVI框内容
EN

Stack Overflow用户
提问于 2017-01-10 04:02:28
回答 3查看 938关注 0票数 0

这是一个我的jQuery和超文本标记语言代码。

我的目标是当我点击当前的box1,box2或box3时,我想要显示当前的子框。

例如:当我点击current box1时,应该打开current sub_box_1,依此类推。我做了一些jQuery代码,但是我不能得到结果。

谢谢!

代码语言:javascript
复制
$(document).ready(function() {
  $('.sub_box').hide();
  $('.box').click(function() {
    $(this).$('#sub_box_1').show();
  });
});
代码语言:javascript
复制
.box {
  width: 150px;
  height: 150px;
  float: left;
  margin-left: 20px;
  border: 1px solid #333;
  margin-top: 10px;
}
.sub_box {
  width: 150px;
  height: 150px;
  border: 1px solid #09c;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<html>

<head>

</head>

<body>
  <div id="wrapp">

    <div id="1" class="box">
      <b>Box 1</b>

      <div id="sub_box_1" class="sub_box">
        <input type="text" name="user_name" placeholder='User Name' />
        <button>ADD</button>
      </div>
      <!--sub_box_1-->
    </div>
    <!--1-->

    <div id="2" class="box">
      <b>Box 2</b>
      <div id="sub_box_2" class="sub_box">
        <input type="text" name="user_email" placeholder='User Email' />
        <button>ADD</button>
      </div>
      <!--sub_box_2-->
    </div>
    <!--2-->

    <div id="3" class="box">
      <b>Box 3</b>
      <div id="sub_box_3" class="sub_box">
        <input type="text" name="user_phone" placeholder='User Phone' />
        <button>ADD</button>
      </div>
      <!--sub_box_3-->
    </div>
    <!--3-->

  </div>
  <!--wrapp-->
</body>

</html>

EN

回答 3

Stack Overflow用户

发布于 2017-01-10 04:10:23

尝试使用以下命令:

代码语言:javascript
复制
$(document).ready(function() {
  $('.sub_box').hide();
  $('.box').click(function() {
    $(this).children('.sub_box').show();
  });
});

jsfiddle示例:https://jsfiddle.net/d6zf0n1b/

票数 3
EN

Stack Overflow用户

发布于 2017-01-10 04:18:04

当您使用$(this).$('#sub_box_1')时。您正在尝试执行$(this)返回的$函数。没有$(this)的$函数。因此,你得到了一个错误。

另一个问题是,您试图通过"#“访问器进行访问,该访问器与id匹配,而不是与类匹配。

这就是为什么安德烈的答案是有效的。他从单击的框开始,寻找类为"sub_box“的直接子对象。

要记住的一件事是,子方法将只搜索父方法的下一级。如果盒子可以更深一些,你应该使用'find‘方法。

票数 0
EN

Stack Overflow用户

发布于 2017-01-10 04:22:22

您可以使用jQuery find方法(https://api.jquery.com/find/),该方法将在元素中查找与您使用的选择器匹配的元素,请尝试执行以下操作:

代码语言:javascript
复制
$(document).ready(function() {
  $('.sub_box').hide();
  $('.box').click(function() {
    $(this).find('.sub_box').show();
  });
});
代码语言:javascript
复制
.box {
  width: 150px;
  height: 150px;
  float: left;
  margin-left: 20px;
  border: 1px solid #333;
  margin-top: 10px;
}
.sub_box {
  width: 150px;
  height: 150px;
  border: 1px solid #09c;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<html>

<head>

</head>

<body>
  <div id="wrapp">

    <div id="1" class="box">
      <b>Box 1</b>

      <div id="sub_box_1" class="sub_box">
        <input type="text" name="user_name" placeholder='User Name' />
        <button>ADD</button>
      </div>
      <!--sub_box_1-->
    </div>
    <!--1-->

    <div id="2" class="box">
      <b>Box 2</b>
      <div id="sub_box_2" class="sub_box">
        <input type="text" name="user_email" placeholder='User Email' />
        <button>ADD</button>
      </div>
      <!--sub_box_2-->
    </div>
    <!--2-->

    <div id="3" class="box">
      <b>Box 3</b>
      <div id="sub_box_3" class="sub_box">
        <input type="text" name="user_phone" placeholder='User Phone' />
        <button>ADD</button>
      </div>
      <!--sub_box_3-->
    </div>
    <!--3-->

  </div>
  <!--wrapp-->
</body>

</html>

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

https://stackoverflow.com/questions/41555976

复制
相关文章

相似问题

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