更多要切换的元素,但我只想切换我点击的那个
More elements to be toggled, but I only want to toggle the one i clicked on
当我现在单击一个 table a
,我想在同一个 div 中切换 .info
,它会切换另一个 [=23] 中的 .info
=]也是。有人可以帮我吗?
function info() {
$('.table a').click(function() {
$('.info').toggle();
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
$('.table a').click(function() {
$(this).parent('.table').next('.info').toggle();
});
.info {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
问题是因为您在调用 toggle()
之前选择了所有 .info
元素。相反,您需要找到与点击的 a
相关的那个。为此,您可以在点击处理程序中使用 this
关键字并遍历 DOM,检索父 .table
,然后检索下一个同级 .info
。试试这个:
function info() {
$('.table a').click(function() {
$(this).closest('.table').next('.info').toggle();
});
}
info();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
当我现在单击一个 table a
,我想在同一个 div 中切换 .info
,它会切换另一个 [=23] 中的 .info
=]也是。有人可以帮我吗?
function info() {
$('.table a').click(function() {
$('.info').toggle();
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
$('.table a').click(function() {
$(this).parent('.table').next('.info').toggle();
});
.info {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
问题是因为您在调用 toggle()
之前选择了所有 .info
元素。相反,您需要找到与点击的 a
相关的那个。为此,您可以在点击处理程序中使用 this
关键字并遍历 DOM,检索父 .table
,然后检索下一个同级 .info
。试试这个:
function info() {
$('.table a').click(function() {
$(this).closest('.table').next('.info').toggle();
});
}
info();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>
<div>
<div class="table">
<a class="table-row" title="mehr ↓">
<div class="table-cell l">
19:30
</div>
<div class="table-cell">
Eröffnung + <b>Nwabis Plaatjie</b>: 3 Years, a month and 7 days
</div>
<div class="table-cell r">
Experimentiertheater
</div>
</a>
</div>
<div class="info">
<h1>test</h1>
</div>
</div>