javascript - 如何在jquery中打开一个div单击两个按钮依次单击
问题描述
我有一个关于按钮点击的问题我有四个按钮点击两个按钮背靠背我想打开 div 所以基于不同的点击组合我想打开不同的 div
这是我的html
<button id="B">B</button>
<button id="Q">Q</button>
<button id="Ag">Ag</button>
<button id="Cli">Cli</button>
<div id="BAg"></div>
<div id="BCli"></div>
<div id="QAg"></div>
<div id="QCli"></div>
所以点击 ,B
我Ag
想打开 divid = "BAg"
和点击 ,B
我Cli
想打开 div ,点击id = "BCli"
,Q
我Ag
想打开 div ,我想打开 divid = "QAg"
Q
Cli
id = "QCli"
这是我尝试过的jquery
$(document).ready(function () {
$("#B").click(function(){
$("#Ag").click(function(){
alert("B Ag")
});
});
$("#B").click(function(){
$("#Cli").click(function(){
alert("B Cli")
});
});
$("#Q").click(function(){
$("#Ag").click(function(){
alert("Q Ag")
});
});
$("#Q").click(function(){
$("#Cli").click(function(){
alert("Q Cli")
});
});
});
所以我们能帮我解决这个问题吗
解决方案
您可以使用变量从单击的元素中附加 id,如下所示:
$(function() {
let creatingString = false, str;
$("#B a, #Q a").click(function() {
creatingString = true; str = "";
str += $(this).parent().prop("id")
})
$("#Ag a, #Cli a").click(function() {
if (!creatingString) return
else {
str += $(this).parent().prop("id")
console.log("Selected ID:", str)
$(".selected").removeClass("selected")
$("#" + str).addClass("selected")
creatingString = false
}
})
})
div.selected {
background: yellow;
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="myTabs" class="nav nav-pills nav-justified" role="tablist" data-tabs="tabs">
<li id="B"><a href="#">B</a></li>
<li id="Q"><a href="#">Q</a></li>
<li id="Ag"><a href="#">Ag</a></li>
<li id="Cli"><a href="#">Cli</a></li>
</ul>
<div id="BAg">BAg</div>
<div id="BCli">BCli</div>
<div id="QAg">QAg</div>
<div id="QCli">QCli</div>
推荐阅读
- php - 如何在控制器中创建集合
- python - 输入值不执行正确的语句
- arrays - 从 API 映射功能组件中的数组
- visual-studio-code - 在 Codepen 中运行的代码在 vscode 上不起作用
- java - 克隆项目的 Github 问题
- css - IconMoon 字体导出问题
- nginx - Logstash 错误:代理 - 无法执行操作
- r - R中的自动化(循环)欧几里得距离测量
- swift - 如何使用 UISwitch 从数据数组中添加和删除数据
- amazon-web-services - 使用 API 调用 CreateTrail 操作时出现 InsufficientS3BucketPolicyException