2012-02-28 36 views
1

我正在使用相當多文章的網站上工作。通過YT嵌入代碼,很多YouTube視頻中嵌入了一個或多個YouTube視頻。使用Javascript將課程添加到YouTube iframe元素

由於設計已經改變,預先嵌入的視頻的高度和寬度是不再與新的設計線。因此,我使用CSS將iframe作爲目標,以正確的維度顯示。這工作正常,但也有其他的iframe對象(例如Soundcloud播放器)無意中調整大小。由於YT或SC嵌入代碼沒有類,所以我不能定位一種嵌入代碼,並且保持另一種嵌入代碼不變。

是否有可能用js來添加一個類只有YouTube iframe元素,但保留其他iframe元素,因爲他們是誰?

回答

5

您可以通過使用屬性選擇這樣做很容易:

$("iframe[src^='http://www.youtube.com']​​​​​​​​​​​​​​​​").addClass("myClass"); 

這裏的a working fiddle to demonstrate

附加信息

看看jQuery's attribute selector reference。這裏有一個快速的簡要介紹:

= is exactly equal 
!= is not equal 
^= starts with 
$= ends with 
*= contains 
+0

令人驚訝的是jQuery如何簡單化(以及它使我看起來多麼愚蠢)。非常感謝您指出這一點! – Squrler 2012-02-28 12:57:54

+0

雖然實際上並不需要使用jQuery,但屬性選擇器並不侷限於jQuery,但可以在所有現代(甚至不是現代)瀏覽器中工作。 – powerbuoy 2012-02-28 13:01:23

+0

@powerbuoy,你是對的。實際上,我鏈接到的jQuery文檔引用了他們使用CSS選擇器的事實 - CSS規範還允許元素通過它們的屬性進行標識。儘管瀏覽器沒有廣泛支持樣式化文檔,但這些屬性選擇器非常有用,而jQuery允許我們使用它們,而不管瀏覽器是否被使用。由於jQuery JS&jQuery被標記,而CSS不是,我選擇提供一個jQuery示例。 – 2012-02-28 13:04:54

1

也許你可以使用屬性選擇,這樣的:

iframe[src^="http://www.youtube"] 
相關問題