javascript - jQuery - 显示具有多个触发器的多个 div
问题描述
在我的页面上是重复的触发器,它应该在点击时打开(更改可见性)一个特定的表单。在某些页面上,有多个触发器和表单。
HTML 标记是这样的:
<div id="form-container-1">
<a id="form-trigger-1">Open Form</a>
<div id="form-1">
content of form
</div>
</div>
<div id="form-container-2">
<a id="form-trigger-2">Open Form</a>
<div id="form-2">
content of form
</div>
</div>
我正在尝试编写一个脚本,单击#form-trigger-x 会显示共振形式(#form-x)。这不是问题,但我想自动化这个,所以如果一个页面有一个表单它可以工作,如果它有 10 个表单它也可以工作,而不需要硬编码脚本中的每个数字。
我尝试了一种使用 .each 和 $(this) 的方法,但它一次打开了所有表单,而不是应该触发的表单。
解决方案
首先,您需要在以开头的所有a
标签上添加点击事件id
form-trigger
$("a[id^='form-trigger']").click(function(){
然后你只需要获取next
点击a
标签并使用它的显示属性或任何你想要的东西
$(this).next()
$("a[id^='form-trigger']").click(function(){
$(this).next().slideToggle();
})
$(".btn").click(function(){
$(this).closest("div").slideToggle();
})
#form-2{
display:none;
}
#form-1{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="form-container-1">
<a id="form-trigger-1">Open Form</a>
<div id="form-1">
content of form 1
<button type="button" class="btn"><i class="fa fa-close"></i> Close form 1</button>
</div>
</div>
<div id="form-container-2">
<a id="form-trigger-2">Open Form</a>
<div id="form-2">
content of form 2
<button type="button" class="btn"><i class="fa fa-close"></i> Close form 2</button>
</div>
</div>
推荐阅读
- sql-server - SQL Server Sum 返回无效数字
- c# - .NET 核心应用部署到本地 IIS,500.19
- python - 请求对象在 DRF + DOT 中没有属性“oauth2_error”
- python - AttributeError:“列表”对象没有属性“拆分”vcf
- python - 如果它们出现在一年而不是下一年并再次出现,我如何将相似的名称与给定的行匹配?
- aws-lambda - 如何下载 AWS Lambda 层
- python - 如何在 Django 中动态生成页面?
- angular - 如何使子路由在 AngularDart 中工作?
- reactjs - useState() 没有从事件处理程序更新状态?
- julia - 有没有办法在 Julia 中强制使用隐藏的默认构造函数?