我有一個jQuery數據表,並在該數據表中每行都有一列,讓您查看該行的詳細信息。我不需要datatables row_details的東西。jquery做動作,除非div已經存在,然後替換
這個想法是,一旦點擊了「視圖」,文本就會變爲隱藏,並且帶有_ _ ###行的div被追加到內容主體。那麼,如果在該行顯示時單擊相同的按鈕,則會隱藏它。此外,如果某人點擊了另一行的視圖,則前一行文本應該變回隱藏狀態,隱藏div,並且應該顯示剛纔點擊過的那一行。
這是我到目前爲止有:
$("a[class^=view]").click(function() {
var id = $(this).attr('class').match(/\d{1,}/);
if($("div[id^=report_]").size() >= 1) {
// Slide up, remove
// Change text back to view
} else {
// Append and change text to Hide
}
});
如果我單擊另一個「查看」,當針對一個細節已經表現出,它會將當前格內一個新的div並追加相同的新的div內容主體......顯然不是我所尋找的效果,所以我的邏輯錯誤。有任何想法嗎?
你不應該使用'大小「,它已被棄用。使用'length'屬性,如'if($(「div [id^= report _]」)。length){...}' – elclanrs
您可以用'/ \ d +替換'/ \ d {1,}//' –
這是這樣的: 1)如果沒有元素存在,追加它並將文本改爲「隱藏」 2)如果單擊相同的「查看」鏈接,則刪除元素並將文本改回查看。 3)如果存在一個元素,刪除該元素並將其相關文本改回查看,同時附加一個新元素並更改其文本以隱藏。我得到了添加/刪除的東西,但是當我追加新的div時,它會被自動刪除,因爲它在相同的條件下檢查超過0個類的元素^ = report_ – Steve