如何将相邻元素触发为;这";jquery中的对象

如何将相邻元素触发为;这";jquery中的对象,jquery,html,css,jquery-selectors,Jquery,Html,Css,Jquery Selectors,我有一个按钮-链接和列表-ul。当我点击按钮时,我需要显示/隐藏列表。代码如下: <div class="wide-tile" id="tile-1"> <div class="size-set"> <a href="#" class="toggle-btn"> > </a> <ul class="size-list"> <li>1x1</li>

我有一个按钮-
链接和列表-ul。当我点击按钮时,我需要显示/隐藏列表。代码如下:

<div class="wide-tile" id="tile-1">
    <div class="size-set">
        <a href="#" class="toggle-btn"> > </a>
        <ul class="size-list">
            <li>1x1</li>
            <li>1x2</li>
            <li>2x1</li>
            <li>2x2</li>
        </ul>
    </div>
    <a href="details.html" class="wide-tile-link">
        <span class="title">About us</span>
    </a>
</div>

它不起作用,可能是因为这个
$(“.size list”,this)
构造用于父类和子类。我需要的是相同的DOM级别访问

首先单独绑定单击事件,然后可以使用

获取匹配元素集中每个元素的同级,可选地通过选择器进行筛选

代码


根据您当前的HTML,您还可以使用

获取匹配元素集中每个元素紧跟其后的同级

代码

您需要绑定
$(“.toggle btn”)。分别单击
,然后使用以获取兄弟
.size list
进行切换。在这种情况下,您不再需要单击
.size set
上的事件:

$(".toggle-btn").click(function() {
    $(this).next(".size-list").toggle("slow", "swing");
});
试试这个

$(document).ready(function(){
    $("size-set").on("click", ".toggle-btn", function(){
        $(this).closest("size-set").find(".size-list").toggle("slow","swing")
    });

});

我有什么要做什么这就是为什么我让2起作用。我希望这对你有帮助

$("#tile-1 .size-set a.toggle-btn").click(function(e){
  $('#tile-1 .size-list, #tile-1 .size-set a.toggle-btn').toggle('slow','swing');      
e.preventDefault();

}))

这工作得很好,但在这里您通过ID定义元素,所以我必须为每个按钮编写代码。这就是为什么如果你有#title-1…#title-20,我就没能成功。不过,谢谢你。
$(".toggle-btn").click(function() {
    $(this).next(".size-list").toggle("slow", "swing");
});
$(document).ready(function(){
    $("size-set").on("click", ".toggle-btn", function(){
        $(this).closest("size-set").find(".size-list").toggle("slow","swing")
    });

});
$("#tile-1 .size-set a.toggle-btn").click(function(e){
  $('#tile-1 .size-list, #tile-1 .size-set a.toggle-btn').toggle('slow','swing');      
e.preventDefault();