繁体   English   中英

单击关闭按钮时删除唯一的div标签

[英]removing a unique div tag when clicked close button

我有一个程序,当单击一个按钮时会生成一个带有关闭按钮的div。 我以某种方式解决了如何在单击单击按钮时关闭div,但问题是,当我一次生成多个div并单击其中的任何关闭按钮时,它将删除所有div。

我还管理了这个JSFiddle进行演示。

注意:我没有添加按钮来生成div的代码,相反,我在JSFiddle中创建了3个虚拟div,只是为了演示我想要的。

HTML:

<div class="imageholder"> <span class='close'>x</span>

    <figure>
        <img src="${filePath}" alt="${fileName}" />
        <figcaption>${fileName}
            <br/>   <span>Original Size: ${fileOriSize} KB</span>
            <br/>   <span>Upload Size: ${fileUploadSize} KB</span>

        </figcaption>
    </figure>
</div>
<div class="imageholder"> <span class='close'>x</span>

    <figure>
        <img src="${filePath}" alt="${fileName}" />
        <figcaption>${fileName}
            <br/>   <span>Original Size: ${fileOriSize} KB</span>
            <br/>   <span>Upload Size: ${fileUploadSize} KB</span>

        </figcaption>
    </figure>
</div>
<div class="imageholder"> <span class='close'>x</span>

    <figure>
        <img src="${filePath}" alt="${fileName}" />
        <figcaption>${fileName}
            <br/>   <span>Original Size: ${fileOriSize} KB</span>
            <br/>   <span>Upload Size: ${fileUploadSize} KB</span>

        </figcaption>
    </figure>
</div>

CSS:

.imageholder {
    display:inline-block;
    background:#fff;
    padding:10px;
    margin:7px;
    text-align:center;
    box-shadow:0 0 4px #999;
    border:1px solid #999;
    position:relative;
}
.imageholder figcaption {
    font-style:italic;
    width:120px;
    word-wrap:break-word;
    font-weight:bold;
}
.imageholder figcaption span {
    font-size:11px;
    color:#777;
}
.imageholder img {
    width:120px;
    height:120px;
}
.imageholder .close {
    margin-left: 30px;
    margin-top: -22px;
    width: 20px;
    height: 20px;
    background-color: #ddd;
    font-size: 18px;
    opacity: .99;
    border-radius: 10px;
}

JS:

closeBtn = $('.close');
imageHolder = $('.imageholder');
closeOnClick();

function closeOnClick() {
    closeBtn.on('click', function () {
        $(imageHolder).remove();
    });
}

怎么样这个

function closeOnClick() {
    closeBtn.on('click', function () {
        $(this).parent().remove();// Close the div that contains the button clicked.
    });
}

通过调用.parent(imageHolder).remove()关闭所需的父div。

 closeBtn = $('.close'); imageHolder = $('.imageholder'); closeOnClick(); function closeOnClick() { closeBtn.on('click', function () { $(this).parent('.imageholder').remove(); }); } 
 .imageholder { display:inline-block; background:#fff; padding:10px; margin:7px; text-align:center; box-shadow:0 0 4px #999; border:1px solid #999; position:relative; } .imageholder figcaption { font-style:italic; width:120px; word-wrap:break-word; font-weight:bold; } .imageholder figcaption span { font-size:11px; color:#777; } .imageholder img { width:120px; height:120px; } .imageholder .close { margin-left: 30px; margin-top: -22px; width: 20px; height: 20px; background-color: #ddd; font-size: 18px; opacity: .99; border-radius: 10px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="imageholder"> <span class='close'>x</span> <figure> <img src="${filePath}" alt="${fileName}" /> <figcaption>${fileName} <br/> <span>Original Size: ${fileOriSize} KB</span> <br/> <span>Upload Size: ${fileUploadSize} KB</span> </figcaption> </figure> </div> <div class="imageholder"> <span class='close'>x</span> <figure> <img src="${filePath}" alt="${fileName}" /> <figcaption>${fileName} <br/> <span>Original Size: ${fileOriSize} KB</span> <br/> <span>Upload Size: ${fileUploadSize} KB</span> </figcaption> </figure> </div> <div class="imageholder"> <span class='close'>x</span> <figure> <img src="${filePath}" alt="${fileName}" /> <figcaption>${fileName} <br/> <span>Original Size: ${fileOriSize} KB</span> <br/> <span>Upload Size: ${fileUploadSize} KB</span> </figcaption> </figure> </div> 

如果使用$(this)引用父元素,那么您将获得所需的效果。 因此,代码略有更改为:

function closeOnClick() {
    closeBtn.on('click', function () {
        $(this).parent().remove();
    });
}

小提琴

我更喜欢接近

$(function() {
  $(".close").on('click', function () {
    $(this).closest(".imageholder").remove(); // or .hide()
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM