javascript - 显示和隐藏只显示第一个下拉菜单
问题描述
<!-- this is all in a table-->
<tr> <!-- is bing repeated via loop in php -->
<td>
<ul class="icons-list">
<li class="dropdown">
<a href="#" class="here">Click me</a>
<ul id=this" class="dropdown-menu dropdown-menu-right">
<li><input type="submit" value="Edit"</li>
</ul>
</li>
</ul>
</td>
</tr>
$('#table tbody').on('click', 'tr','.here', function () {
$('#this').toggle();
} );
我有这段代码,当我点击它们时,下拉菜单会显示,但无论我点击哪一行,都只会显示第一行。请注意,有多行我该如何解决这个问题?
解决方案
在 jQuery 中on()
,第二个参数用于选择器。但是您将其传递给第二个和第三个参数。使用this
关键字来引用当前元素。
试试下面的方法:
$('#table tbody').on('click', 'tr .here', function(){
$(this).next('ul.dropdown-menu').toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="table">
<tbody>
<tr> <!-- is bing repeated via loop in php -->
<td>
<ul class="icons-list">
<li class="dropdown">
<a href="#" class="here">Click me</a>
<ul id="ddl1" class="dropdown-menu dropdown-menu-right">
<li><input type="submit" value="Edit"/></li>
</ul>
</li>
</ul>
</td>
</tr>
<tr> <!-- is bing repeated via loop in php -->
<td>
<ul class="icons-list">
<li class="dropdown">
<a href="#" class="here">Click me</a>
<ul id="ddl2" class="dropdown-menu dropdown-menu-right">
<li><input type="submit" value="Edit"/></li>
</ul>
</li>
</ul>
</td>
</tr>
<tr> <!-- is bing repeated via loop in php -->
<td>
<ul class="icons-list">
<li class="dropdown">
<a href="#" class="here">Click me</a>
<ul id="ddl3" class="dropdown-menu dropdown-menu-right">
<li><input type="submit" value="Edit"/></li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
推荐阅读
- angular - Angular 7无法在获取带有地图的Web服务中发送标头
- .net - 使用 Simple Injector .NET 进行依赖注入,找不到类型或命名空间
- excel - 将值复制并粘贴到工作簿中每个工作表的数据表末尾
- javascript - 使用 Parceljs 时,为 Prime React 组件包含 css 文件的最佳方法是什么?
- python - Python三元组到元组
- java - 退出VM后如何在其中创建临时文件并删除
- php - 如何在 where() 函数中给出条件以使表中的记录不等于零
- cordova - 是否可以使用“Set-Cookie”响应标头在 Cordova 中设置 cookie?
- python - from urllib3.util.ssl_ import ( ImportError: cannot import name ssl
- python - 使用 tf.distribute 时,如何避免在每个 tf.keras 时期重新填充我的 tf.data 洗牌缓冲区?