javascript - 如何选择相关元素jquery的prev no

标签 javascript jquery css css-selectors

我想滑动 div,它们都将具有相同的 ID,因为它们会生成内部循环,因此触发器也具有相同的 ID。这就是为什么我想使用一个函数,目前该函数仅适用于第一个 div,我不知道如何修复它。我希望每个按钮都适用于他上方的 div。

html部分

<div id='slide'>
hello
</div>
<p id='but'>click</p>

<div id='slide'>
hello
</div>
<p id='but'>click</p>

和js

$(document).ready(function(){
$(this).click(function(){
    $("#slide").slideToggle("slow");
    });
});

最佳答案

首先,不要在一个页面上使用相同的 id - 请改用 class。如果你想在点击元素之前对元素做一些事情,你可以使用 prev(),像这样(在你的代码中只需更改 css('color', 'red')slideToggle("slow"),我添加它只是为了举例:

$(document).ready(function() {
  $(".but").click(function() {
    $(this).prev().css('color', 'red');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='slide'>
  hello
</div>
<p class='but'>click</p>

<div class='slide'>
  hello
</div>
<p class='but'>click</p>

关于javascript - 如何选择相关元素jquery的prev no,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48332321/

相关文章:

jquery - 无法拖动 jQuery UI slider

javascript - 悬停时旋转图像失败

html - 如何使 href 中的完整图像可点击

css - div 中的 png 出现在 Firefox 中,而不出现在 Iexplorer 中

javascript - 使用 Javascript 打开/激活 Firebug

javascript - 火狐浏览器引用错误: jQuery is not defined

javascript - show() 覆盖多个 ajax 调用

javascript - 自动向下移动可滚动的div

JavaScript 继承?也有私有(private)变量和方法

javascript - 将位于 Heroku 的 Node.js 应用程序日志发送到文件