javascript - 使用与按钮 ID 相同的 ID

标签 javascript jquery html css

我一直在尝试做到这一点,以便每当我在一个 div 中单击时 id="slide$i" 单击的 div 应该展开或折叠,具体取决于当前表单。

这是它的外观截图。

enter image description here

所以基本上如果我点击第一个 div 的区域(从 Magazijn 到 Guidion) 它应该展开并显示其他信息。但我们暂时保持简单,只是尝试让 div 完全移动。

我的代码是这样的。

  $i = 0;
foreach($stock_history as $history){
    echo " 
    <div id='slide" . $i . "' >
        <p>Date: <strong> " . $history->create_date . "</strong> </p> 
        <p>To: <strong> " . $history->toLocation->name . " </strong> </p> 
        <p>From: <strong> " . $history->fromLocation->name . " </strong> </p>
        <p>Moved by:  <strong> " .  $history->user->username . " </strong> </p>
        <hr />
    </div>";
    $i++;
};

Javascript:

$("#slide'.$i.'").click(function(){
    if ($("#slide'.$i.'").is(":hidden")) {
        $("#slide'.$i.'").show("slow");
    } else {
        $("#slide'.$i.'").slideUp();
    }
});

结论:

我想点击一个 div(例如 id=1),那个 div 应该打开/关闭。

最佳答案

在你的 div 中使用一个类

$i = 0;
foreach($stock_history as $history){
    echo " 
    <div id='slide" . $i . "' class='slide-class'>
    <p>Date: <strong> " . $history->create_date . "</strong> </p> 
    <p>To: <strong> " . $history->toLocation->name . " </strong> </p> 
    <p>From: <strong> " . $history->fromLocation->name . " </strong> </p>
    <p>Moved by:  <strong> " .  $history->user->username . " </strong> </p>
    <hr />
    </div>";
    $i++;
}

和JS

$(".slide-class").click(function(){
    var current_id = this.id
    if ($("#"+current_id).is(":hidden")) {
        $("#"+current_id).show("slow");
    } else {
    $("#"+current_id).slideUp();
    }
  });

关于javascript - 使用与按钮 ID 相同的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30368958/

相关文章:

javascript - Bootstrap 汉堡菜单无法点击

html - HTML 电子邮件中的间距

javascript - 如何在自适应卡中捕获按钮文本(针对用户按下的按钮)

javascript - 如何更改 emacs 在 JavaScript 中缩进匿名函数第一行的空格数?

javascript - 如何避免为两个单独的数据源嵌套 getJSON?

jQuery 嵌套选择器不起作用,但 find() 工作正常

javascript - 隐藏类与单击元素的类不匹配的元素

javascript 原型(prototype)和私有(private)变量

javascript - 如何在 Angular 2+ 模板中使用 isArray()?

c# - 无法使用jquery从 Controller 获取数据