我已经能够选择我想要的特定行但是我无法从那些tr中选择特定的td。
我用它来选择行:
$('#time-slot tr:not(:first, :last)')
然后在那些选定的行中我试图忽略第一个和最后一个td,但它不起作用。我使用了与上面类似的方法
$('#time-slot tr:not(:first, :last) td:not(:first, :last)')
任何想法我应该如何解决这个问题。顺便说一下,我试图点击并拖动鼠标,用用户定义的颜色绘制单元格。
答案 0 :(得分:1)
我更喜欢使用较少的字符串选择器和更多jQuery方法,以及使用:first-child
和:last-child
选择器来解决您的问题:
$("#time-slot").find("tr").not(":first-child, :last-child").find("td").not(":first-child, :last-child").addClass("active");
根据您的期望,您没有很好地解释,这可能是也可能不是您想要的。这样做是选择不是第一个和最后一个的所有tr
个元素。在匹配的tr
元素中,它会选择不是第一个和最后一个的所有td
个元素。所以基本上,它不会选择table
中的外部单元格环。
答案 1 :(得分:0)
完全同意Ian,我更喜欢使用.children()而不是.find()。因为如果你有嵌套表会导致问题。
$("#time-slot").find("tr").not(":first-child, :last-child").find("td").not(":first-child, :last-child").addClass("active");
更改为:
$("#time-slot").children("tr").not(":first-child, :last-child").children("td").not(":first-child, :last-child").addClass("active");
答案 2 :(得分:0)
试试这个(仅使用css选择器):
$("#time-slot tr:not(:first,:last) td:not(:first-child,:last-child)").addClass("active");
<强> Sample 强>