2010-09-11 52 views
3

如何使用JavaScript檢測瀏覽器是否支持CSS :first-child選擇器?檢測:首次子女支持

+0

你需要* *檢測呢? :)目前支持幾乎所有的東西:http://www.quirksmode.org/css/contents.html#t17 – 2010-09-11 20:04:21

+1

...檢查jQuery版本是否[≥1.1.4](http:// api。 jquery.com/first-child-selector/)? :p – kennytm 2010-09-11 20:07:18

+0

@Kenny使這個答案 - 這就是所有OP需要檢查的 – 2010-09-11 20:09:32

回答

4

您可以使用該規則設置一些具體的值,然後在Javascript中獲取計算的樣式以查看是否應用了:first-child規則,例如,

<style> 
#foo { width: 200px; } 
#foo:first-child { width: 400px; } 
</style> 

<span><span id="foo"></span></span> 

<script> 
if ($('#foo').width() < 400) 
    alert('first-child not supported.'); 
</script> 

(這不是測試。我沒有IE 6)

+1

這很不錯,對問題的確切答案是+1。雖然我有這樣的感覺,但首先必須首先了解這一點的基本前提是錯誤設計決定的結果。 – 2010-09-11 20:27:37

+0

其不好使用額外的塊 – James 2010-09-11 20:29:53

+0

@WorkingHard:什麼額外的塊? – BoltClock 2010-09-11 20:31:38

2

我不認爲有一個jQuery函數來找出對此的支持。我想如果它確實存在,它會變得非常複雜。你確定你需要這個嗎?小心分享爲什麼?

如果你仍然可以使用jQuery,爲什麼不添加一個jQuery語句來爲所需的元素指定class/property/whatever,而不是依賴於CSS?

作爲一個「手冊」的回答,看看quirksmode.org compatibility table,除IE家族外,所有現代瀏覽器都完全支持該選擇器,即使在IE8中,該家族似乎也有問題。

+0

我發現這個頁面http://api.jquery.com/jQuery.support/但不知道如何使用它 – James 2010-09-11 20:25:45

+2

@WorkingHard:jQuery.support無法測試':first-child'支持。 – BoltClock 2010-09-11 20:26:20

+2

@WorkingHard我會首先問自己*爲什麼*我首先需要這個。 – 2010-09-11 20:28:31