簡體   English   中英

jQuery-對象+ nth-child

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM