尝试使用first-child或nth-child连续获取第一个单元格,但语法不是很好。这就是我正在尝试的,它无法正常工作:
....
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
....
相反,它返回整个文档......
答案 0 :(得分:1)
你的选择器:
$(sections[key][2][sections[key][2].length-1]+":first-child")
正在尝试将JavaScript对象与字符串连接起来,这将导致(类似的)[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');
请注意td
与:first-child
伪类的使用,以防止选择所有后续元素的第一个子元素。
但是,为了得到所有表行的第一个单元格(使用jQuery更容易理解的表示法),我建议:
$('table tr td:first-child')
或者,使用:nth-child()
获取任意编号的td
:
$('table tr td:nth-child(2)')
答案 1 :(得分:0)
如果您只是想要归还第一个孩子,为什么不这样做:
sections[key][2][sections[key][2].length-1].firstChild
请记住,通过jQuery选择通过DOM可以轻松获得的内容只会减慢代码的速度。
答案 2 :(得分:0)
应该是:
$(sections[key][2][sections[key][2].length-1]+" td:first-child")