2012-01-16 53 views

回答

3

因为当你,你最终会调用该对象上的功能里面,其实并不是一个真正的DOM节点的jQuery选择的对象上使用.play()而是一个集合的DOM节点包装在一个jQuery对象中。那个对象只是不知道任何播放函数。

事实上,当选择器没有触及任何东西时,jQuery对象甚至可以是空的,对该包的所有调用仍然有效,但由于没有目标,它不会产生任何效果。

如果您以类似方式(var v = document.getElementsByTagName("video")[0];)以数组方式调用该程序包,并且内部至少有一个DOM节点,则会获得一个真正的DOM节点作为返回对象。该节点知道.play()函数。

在这里看到:Play/pause HTML 5 video using JQuery

0

有两个问题。在你的页面上可能没有id为“video”的元素,所以第一个jQuery语句没有返回任何东西。第二条语句的问题是它返回一个没有play()方法的数组。

第二个问题是,jQuery返回一个jQuery对象,您必须获取底层DOM元素才能调用“native”方法。

所以,你可能寻找的是这样的:

$("viedeo")[0].play(): 

这将调用第一个DOM元素上的play()方法返回。

+0

为什么downvote? – 2012-01-16 07:22:38

+0

打败我,你得到了和我一样的信息,只是不像图形包装... +1从我:) – bardiir 2012-01-16 07:59:50