Javascript jquery切换一次单击打开所有div

Javascript jquery切换一次单击打开所有div,javascript,jquery,html,toggle,Javascript,Jquery,Html,Toggle,请看一下下面的代码,无论出于何种原因,我无法仅在单击编辑链接时打开一个div,它会在单击编辑链接时打开所有div jQuery HTML 正如我在上面的评论中提到的,ID必须是唯一的。也就是说,试试这个: $("input").click(function () { $(this).slideToggle(200, 'swing'); }); 使用以下脚本,.find方法仅搜索子体 我最初在这里看到的问题是,您有两个具有相同id的输入按钮。虽然这可能不是全部问题,但您仍然不能有两个具有

请看一下下面的代码,无论出于何种原因,我无法仅在单击编辑链接时打开一个div,它会在单击编辑链接时打开所有div

jQuery

HTML


正如我在上面的评论中提到的,ID必须是唯一的。也就是说,试试这个:

$("input").click(function () {
    $(this).slideToggle(200, 'swing');
});
使用以下脚本,.find方法仅搜索子体


我最初在这里看到的问题是,您有两个具有相同id的输入按钮。虽然这可能不是全部问题,但您仍然不能有两个具有相同id的元素。我也不确定这是否只是您为提问而清理的通用代码,但您的选择器似乎相当复杂。将.click事件附加到两个输入按钮,然后转到按钮父对象(即段落),然后转到子对象(即按钮)。你基本上是从一个点出发,上升一级,然后再下降一级。当单击处理程序附加到按钮时,无论何时单击按钮,都可以引用$this来引用该按钮

<input type="button" name="uploadboy" id="button1" />
<input type="button" name="uploadboy" id="button2" />

$(document).ready(function(){
    $("input:button[name='uploadboy']").click(function () {
        $(this).SlideToggle(200, 'swing');
    });
});

如果查看在单击输入按钮时运行的函数,它只是引用$this对象。这是jquery的一个优点,$这是您单击的特定按钮。即使页面上有20个按钮,单击的任何按钮都将是此按钮。因此,在上面的示例中,单击按钮将发生滑动切换。如果您需要像以前一样四处移动,也可以将dom导航到这个位置

注意,ID必须是唯一的。您的代码中有两个元素具有相同的ID uploadboy。如果您单击按钮,为什么您必须上下DOM才能返回到相同的按钮?请更新HTML,它不包含uploadboy类的任何元素-@user3147472您没有uploadboy类…您的示例中只有2个类:links box和g-button。您没有uploadboy类抱歉,在链接框类出现后uploadboy classI已更新答案,请尝试此@user3147472。您必须创建唯一的ID。你不能在同一个页面上有两个相同ID的元素。这不是你不应该这样做的,这是错误的,你不能这样做
$("input").click(function () {
    $(this).slideToggle(200, 'swing');
});
$(document).ready(function () {
    $("input:button[name='uploadboy']").click(function () {
        $(this).parent().parent().next('.uploadboy').slideToggle(200, 'swing');
    });
});
<input type="button" name="uploadboy" id="button1" />
<input type="button" name="uploadboy" id="button2" />

$(document).ready(function(){
    $("input:button[name='uploadboy']").click(function () {
        $(this).SlideToggle(200, 'swing');
    });
});