2012-01-16 68 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