我需要从字符串中的html中选择第一个表然后选择第二个表。我知道这可以通过选择器:eq(0)
和:eq(1)
完成,但
var firstTable = $("table", "<table></table>").length;
firstTable == 0
。为什么呢?
答案 0 :(得分:2)
当您将第二个参数传递给jQuery()
(又名$()
)时,您指定要在其中进行搜索的上下文。就是这样:
$(selector, context);
相当于:
$(context).find(selector);
所以,你可以像这样重写你的“破损”代码来说明为什么它找不到table
元素:
var firstTable = $("<table></table>").find("table").length;
...因为.find()
仅选择后代元素。
答案 1 :(得分:1)
尝试这样来说明问题:
var firstTable = $("table", "<div><table></table></div>").length;
// returns 1
搜索在上下文参数中发生。