我目前正在开发一个应用程序,其中用户获取一组列表,其中包含详细信息,每个div中还有隐藏的详细信息,可由用户切换。 问题是,当您单击一个框的“详细信息”时,它会在所有框上切换类,而不是在单击的框中切换。 我一直在寻找这个问题的答案,并试图自动增加ID / Class,以便创建的每个框都有一个唯一的标识符。 我需要这样做才能使“额外细节”仅在卡片“细节”被点击时打开。 预先感谢您的任何帮助。
我的代码
$(".card-details").on("click", function (e) { e.preventDefault(); $(".extra-details").toggleClass("hidden"); });h4 { padding:10px 0 0 5px; font-size:18px; font-weight:bold; } .card { border:none; box-shadow:2px 2px 5px rgba(201,201,201, .5); padding:5px; margin:5px; max-width:350px; background:transparent; border:1px solid #efefef; font-size:12px; } hr { border:1px solid #efefef; width:100%; margin-top:0; } .card-head { color:#005ABB; } .card-container{ margin-top:20px; margin-left:5px; } .card-info { margin-left:20px; background:transparent !important; } .card-details { color:#005ABB; margin-left:85%; } .card-details:hover { text-decoration:underline; color:#F9A51B; cursor:pointer; } .hidden{ display:none !important; }<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container-fluid"> <div class="container"> <div class="row card-container"> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> </div> </div> </div>I am currently working on an application where the user gets a list a bunch of divs with details on them, there are also hidden details in each div that can be toggled by the user. The issue is that when you click on "details" for one box it toggles the class on all boxes rather than just within the one that was clicked. I was looking for an answer to this issue and have come up with trying to auto-increment the ID's/Class so that each box that is created will have a unique identifier. I need to make it so that the "extra-details" is only opened in relation to the card "details" is clicked on. Thank you in advance for any help.
My Code
$(".card-details").on("click", function (e) { e.preventDefault(); $(".extra-details").toggleClass("hidden"); });h4 { padding:10px 0 0 5px; font-size:18px; font-weight:bold; } .card { border:none; box-shadow:2px 2px 5px rgba(201,201,201, .5); padding:5px; margin:5px; max-width:350px; background:transparent; border:1px solid #efefef; font-size:12px; } hr { border:1px solid #efefef; width:100%; margin-top:0; } .card-head { color:#005ABB; } .card-container{ margin-top:20px; margin-left:5px; } .card-info { margin-left:20px; background:transparent !important; } .card-details { color:#005ABB; margin-left:85%; } .card-details:hover { text-decoration:underline; color:#F9A51B; cursor:pointer; } .hidden{ display:none !important; }<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container-fluid"> <div class="container"> <div class="row card-container"> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 card"> <h4 class="card-head">20 Foot Titan Chassis</h4> <hr> <div class="row"> <div class="col-xs-12 pull-left card-info"> Equipment Type </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Available Quantity </div> </div> <div class="row"> <div class="col-xs-12 pull-left card-info"> Selected Quantity </div> </div> <div class="col-xs-12 card-details"> Details </div> <div class="row extra-details hidden"> <div class="col-xs-12 card-info"> Address: Test Address </div> <div class="col-xs-12 card-info"> Hours of Operation: Weekdays 9AM - 5PM </div> </div> </div> </div> </div> </div>最满意答案
尝试:
$(".card-details").on("click", function (e) { e.preventDefault(); $(this).siblings(".extra-details").toggleClass("hidden"); });Try:
$(".card-details").on("click", function (e) { e.preventDefault(); $(this).siblings(".extra-details").toggleClass("hidden"); });
更多推荐
发布评论