[英]jQuery - Object + nth-child
試圖通過使用第一個孩子或第n個孩子獲得連續的第一個單元格,但是語法效果不好。 這是我正在嘗試的方法,它不起作用:
....
sections[key][2][sections[key][2].length-1] //Table Row
$(sections[key][2][sections[key][2].length-1]+":first-child") //Should be first cell of row
....
而是返回整個文檔...
您的選擇器:
$(sections[key][2][sections[key][2].length-1]+":first-child")
正在嘗試將JavaScript對象與字符串連接在一起,這將導致(類似) [object HTMLTableRowElement]:first-child
,顯然,該[object HTMLTableRowElement]:first-child
對象將不會生成jQuery對象或DOM節點。
鑒於(您說) $(sections[key][2][sections[key][2].length-1]
是tr
元素(盡管為什么在jQuery選擇器中使用該表示法對我來說還是個謎),我建議:
$(sections[key][2][sections[key][2].length-1]).find('td:first-child');
JS小提琴演示 。
注意將td
與:first-child
偽類一起使用,以防止選擇所有后續元素的第一個孩子。
但是,要獲取所有表行的第一個單元格(使用jQuery的更易理解的表示法),我建議:
$('table tr td:first-child')
JS小提琴演示 。
或者,使用:nth-child()
獲得任意編號的td
:
$('table tr td:nth-child(2)')
JS小提琴演示 。
如果您只想返回第一個孩子,為什么不這樣做:
sections[key][2][sections[key][2].length-1].firstChild
請記住,通過jQuery選擇可以通過DOM輕松獲得的功能只是毫無理由地降低了代碼速度。
應該:
$(sections[key][2][sections[key][2].length-1]+" td:first-child")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.