在jquery中获取上一个事件动作
Posted
技术标签:
【中文标题】在jquery中获取上一个事件动作【英文标题】:Get the previous event action in jquery 【发布时间】:2018-02-09 11:32:11 【问题描述】:我正在尝试使用 jquery 获取上一个事件操作
<tr id="det"><td></td></tr>
<tr id="moredet"><td></td></tr>
<tr id="det"><td></td></tr>
$(document).on("click","#det",function(e)
$(this).next("#moredet").fadeToggle("slow");
);
我想要的是,当单击 id 行“det”时,单击的下一个 id 行“moredet”将变为淡出,当我单击任何其他行 id“det”时,前一个淡入行行将淡出并且单击行的下一行 id "moredet" 将淡入。
【问题讨论】:
您不应该在文档中有重复的id
。
是的,使用 classes 而不是 ids 。否则您的代码似乎是正确的。
【参考方案1】:
不要使用重复的 id 使用类。它的规则违反。您可以使用next
和prev
和size
来检查条件以解决您的问题。
$(document).on("click", ".det", function(e)
if ($(this).next('tr').size() > 0)
$(this).next(".moredet").fadeToggle("slow");
else
$(this).prev(".moredet").fadeToggle("slow");
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr class="det">
<td>1</td>
</tr>
<tr class="moredet">
<td>2</td>
</tr>
<tr class="det">
<td>3</td>
</tr>
</table>
【讨论】:
非常感谢。抱歉忘记了我只是一个初学者的规则 很高兴为您提供帮助。快乐编码:)以上是关于在jquery中获取上一个事件动作的主要内容,如果未能解决你的问题,请参考以下文章