簡體   English   中英

在jQuery中遍歷dom查找類的先前實例

[英]traversing dom in jquery find previous instance of class

我有以下重復的表格和按鈕模式

----------------------
table 1 .inventory class
----------------------
[button 1 .add-row]

----------------------
table 2 .inventory class
----------------------
[button 2 .add-row]

----------------------
table 3 .inventory class
----------------------
[button 3 .add-row]

現在,當我單擊按鈕1,2,3時,我想分別遍歷表1,2,3(上一個表)並在表中顯示額外的一行(已創建,剛剛隱藏),我嘗試了此操作,但是所有按鈕僅首先影響第一個表,並且一旦顯示了所有這些行,然后就開始在下一個表等上顯示,等等,我知道答案可能是顯而易見的。

$(document).ready(function(){
    $('.additional-item-row').hide();
    $('.add-item').click(function(){
        $(this).prevAll(".inventory .additional-item-row:hidden:first").show();
    });
});

嘗試這個:

$(document).ready(function(){
    $('.additional-item-row').hide();
    $('.add-item').click(function(){
        $(this).prev("table").children(".inventory .additional-item-row:hidden:first").show();
    });
});

好吧,我設法解決它:

$(this).prevAll(".inventory:first").find(".additional-item-row:hidden:first").show();

假設:按鈕在按鈕組中的索引與表行集合中表行的索引匹配。

$(function() {
    $("button.add-item").click(function() {
        var index = $("button.add-item").index(this);
        $("tr.additional-item-row:eq(" + index + ")").show();
    });
});

暫無
暫無

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

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