这是一个我的jQuery和超文本标记语言代码。
我的目标是当我点击当前的box1,box2或box3时,我想要显示当前的子框。
例如:当我点击current box1时,应该打开current sub_box_1,依此类推。我做了一些jQuery代码,但是我不能得到结果。
谢谢!
$(document).ready(function() {
$('.sub_box').hide();
$('.box').click(function() {
$(this).$('#sub_box_1').show();
});
});.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;
}<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>
发布于 2017-01-10 04:10:23
尝试使用以下命令:
$(document).ready(function() {
$('.sub_box').hide();
$('.box').click(function() {
$(this).children('.sub_box').show();
});
});jsfiddle示例:https://jsfiddle.net/d6zf0n1b/
发布于 2017-01-10 04:18:04
当您使用$(this).$('#sub_box_1')时。您正在尝试执行$(this)返回的$函数。没有$(this)的$函数。因此,你得到了一个错误。
另一个问题是,您试图通过"#“访问器进行访问,该访问器与id匹配,而不是与类匹配。
这就是为什么安德烈的答案是有效的。他从单击的框开始,寻找类为"sub_box“的直接子对象。
要记住的一件事是,子方法将只搜索父方法的下一级。如果盒子可以更深一些,你应该使用'find‘方法。
发布于 2017-01-10 04:22:22
您可以使用jQuery find方法(https://api.jquery.com/find/),该方法将在元素中查找与您使用的选择器匹配的元素,请尝试执行以下操作:
$(document).ready(function() {
$('.sub_box').hide();
$('.box').click(function() {
$(this).find('.sub_box').show();
});
});.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;
}<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>
https://stackoverflow.com/questions/41555976
复制相似问题