jquery tr 选择器不工作
jquery tr selector not working
var row="<tr><td>"+segmentData.segmentName+"</td>" +
"<td></td>"+
"<td>"+segmentData.transTimelyTotal+"</td>"+
"<td></td>"+
"<td>"+segmentData.transUntimelyTotal+"</td>"+
"<td></td>"+
"<td>"+segmentData.transAmtTimelyTotal+"</td>"+
"<td></td>"+
"<td>"+segmentData.transAmtUntimelyTotal+"</td>"+
"</tr>";
var $row=$(row)
var td = $("tr:nth-child(2)", $row);
我在 javascript 中描述了上面的 html 行,我试图从那里获取第三个位置的 td 元素,但它似乎没有按预期工作。
我得到一个未定义的对象,你可以在下面看到结果。
有没有更好的方法来获取位置 2 处的 td 元素?
[prevObject: m.fn.init[1], context: undefined, selector: "tr:even"]
$row.find("td:nth-child(2)");工作
您使用 nth-child
选择器的方式有误。
tr:nth-child
不是 return tr
的子元素,而是 return 是 tr
元素,它们是各自父元素的第 n 个子元素。
您的选择器应该是什么
"tr td:nth-child(2)"
但是由于良好的 HTML 实践意味着 tr
元素应该只包含 td
元素作为子元素,这个选择器就足够了:
"td:nth-child(2)"
回到你的问题,你要求选择器选择 2nd td
而不是 2nth td
.因此,上述选择器中 none 是正确的。这是你应该使用的:
"td:eq(2)"
参考 nth-child
here
的规范
参考 eq
here
的规范
var row="<tr><td>"+segmentData.segmentName+"</td>" +
"<td></td>"+
"<td>"+segmentData.transTimelyTotal+"</td>"+
"<td></td>"+
"<td>"+segmentData.transUntimelyTotal+"</td>"+
"<td></td>"+
"<td>"+segmentData.transAmtTimelyTotal+"</td>"+
"<td></td>"+
"<td>"+segmentData.transAmtUntimelyTotal+"</td>"+
"</tr>";
var $row=$(row)
var td = $("tr:nth-child(2)", $row);
我在 javascript 中描述了上面的 html 行,我试图从那里获取第三个位置的 td 元素,但它似乎没有按预期工作。
我得到一个未定义的对象,你可以在下面看到结果。
有没有更好的方法来获取位置 2 处的 td 元素?
[prevObject: m.fn.init[1], context: undefined, selector: "tr:even"]
$row.find("td:nth-child(2)");工作
您使用 nth-child
选择器的方式有误。
tr:nth-child
不是 return tr
的子元素,而是 return 是 tr
元素,它们是各自父元素的第 n 个子元素。
您的选择器应该是什么
"tr td:nth-child(2)"
但是由于良好的 HTML 实践意味着 tr
元素应该只包含 td
元素作为子元素,这个选择器就足够了:
"td:nth-child(2)"
回到你的问题,你要求选择器选择 2nd td
而不是 2nth td
.因此,上述选择器中 none 是正确的。这是你应该使用的:
"td:eq(2)"
参考 nth-child
here
参考 eq
here