簡體   English   中英

在 jQuery 中找到最近的兄弟姐妹

[英]finding closest sibling in jQuery

我在 HTML 中有以下代碼:

 $(".remove-post").click((event) => { $(event.target).fadeOut(); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="side-bar"> <button class="remove-post"> delete </button> <a class="list"> <p>post title</p> </a> <button class="remove-post"> delete <button> <a class="list"><p>another post title</p></a> </div>

每次單擊刪除按鈕時,我都想刪除其中包含段落的最接近的“a”標簽以及刪除按鈕本身。 我能夠刪除按鈕,但無法定位與單擊按鈕最近的標簽我在 jQuery 中編寫了它

如果按鈕將始終停留在段落之前,您可以執行以下操作:

$(".remove-post").on("click", function () {
    $(this).next(".list").fadeOut()
    $(this).fadeOut()
})

我建議您將段落和按鈕包裝在一起,例如:

<div class="side-bar">
    <div class="wrapper">
        <button class="remove-post">Delete<button>
        <a class="list">Another post title</a>
     </div>

    <div class="wrapper">
      <button class="remove-post">Delete <button>
      <a class="list">Another post title</a>
    </div>
</div>

如果你這樣做,那么你可以使用這個:

$(".remove-post").on("click", function () {
    $(this).parent().fadeOut()
})

假設您要刪除下一個a.list兄弟,請使用.next()

 $(".remove-post").on("click", function() { const btn = $(this) btn.add(btn.next("a.list")).fadeOut() })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="side-bar"> <button class="remove-post">delete</button> <a class="list"><p>post title</p></a> <button class="remove-post">delete</button> <a class="list"><p>another post title</p></a> </div>

jQuery 的.add()在這里用於收集<button><a>以便您可以將它們一起淡出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM