2016-01-16 45 views
2

我有3個嵌套表格,最裏面的表格包含td部分中的一些文本。查找包含文本的最近表格

獲取包含此文本的最內層表格的方式是什麼?

如果我運行類似:

$("td").filter(function(){ return $(this).text().match(/PNR No:/);}).closest('table') 

它給了我3個表

回答

1

它給了我3個表

它返回3個表,因爲每個td元素可能包含文本(因爲它們是嵌套的)。

如何獲取包含此文本的最內層表格?

如果您想選擇最裏面td元素,一個解決辦法是選擇不通過結合:not() pseudo class:has() selector包含表格元素(即最裏面的td元素)的td元素:

$("td:not(:has(table))").filter(function() { 
    return $(this).text().match(/PNR No:/); 
}).closest('table'); 

jsFiddle Demo