自动增加HTML类/ ID以区分div(Auto Increment HTML class/ID to differentiate between divs)

编程入门 行业动态 更新时间:2024-10-27 21:20:05
自动增加HTML类/ ID以区分div(Auto Increment HTML class/ID to differentiate between divs)

我目前正在开发一个应用程序,其中用户获取一组列表,其中包含详细信息,每个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"); });

更多推荐

本文发布于:2023-04-27 11:04:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1327108.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:div   Auto   HTML   ID   differentiate

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!