[英]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.