在使用.children for .modal工作后,为什么还需要另一个$()

时间:2015-11-17 12:32:53

标签: javascript jquery twitter-bootstrap

我想知道为什么我必须这样做:

(True, True, False)

而不是

(True, True, True)

函数$($("body").children("div")[0]).modal('show');没有给出包含节点的列表吗?我是jquery的新手,而不是javascript经验,所以我只是想知道它有什么不同。

$("body").children("div")[0].modal('show');是一个引导函数,以防有人想知道。

以下是完整性的背景:

.children

2 个答案:

答案 0 :(得分:6)

因为("div")[0]将返回一个dom元素。它没有关联的jquery函数。为了将jquery函数与该元素相关联,您需要通过变形$()

将其再次转换为jquery元素

其他选项是像这样使用eq()运算符,

$("body").children("div:eq(0)").modal('show');

答案 1 :(得分:2)

返回的元素是一个javascript DOM元素,它不包含在任何jQuery函数中。因此,你必须用另一个$标记包装它。如果你想获得第一个元素,使用$("body").children("div").first()这将获得第一个元素作为jQuery对象,你可以使用所有的jQuery函数。