我在某些代碼中遇到了這種語法,它在IE8中破解,但在其他代碼中工作,任何線索都在做什麼。Jquery選擇器語法
$(this.handle()).find("[id]:visible:enabled");
我認爲這可能會尋找搜索在當前頁面中的所有元素的ID,然後搜索屬性所產生的元素「可見」和「啓用」,但我不這麼認爲了。 當我搜索「可見」或「啓用」時,IE8中的開發人員工具不顯示任何結果!
返回在IE8中失敗。
我在某些代碼中遇到了這種語法,它在IE8中破解,但在其他代碼中工作,任何線索都在做什麼。Jquery選擇器語法
$(this.handle()).find("[id]:visible:enabled");
我認爲這可能會尋找搜索在當前頁面中的所有元素的ID,然後搜索屬性所產生的元素「可見」和「啓用」,但我不這麼認爲了。 當我搜索「可見」或「啓用」時,IE8中的開發人員工具不顯示任何結果!
返回在IE8中失敗。
this.handle()確實會返回一些有效的信息,$(this.handle())是一個jQuery對象。查找可用。該查詢在Chrome上正常工作,但不在IE8上正常工作。我看到這些選擇器上的文檔現在api.jquery.com/enabled-selector和api.jquery.com/visible-selector,這真的回答了我的問題。它看起來像JQuery查找方法在瀏覽器上的工作方式不同。這個問題應該可能被引用到jquery本身。
該選擇器應該找到id
屬性爲visible
和enabled
的所有子元素。 From this test它似乎正在工作。測試IE8和Chrome。
它取決於它運行的環境。什麼是「this」,它有一個叫做「handle」的函數嗎?如果不是,那麼這就是失敗的原因。
對於這個工作this.handle()必須返回的東西的jQuery遍歷,在這種情況下,它返回的所有元素約西亞Rudell已經指出
http://api.jquery.com/visible-selector/ HTTP://api.jquery。 com/enabled-selector/
什麼是`this.handle()`? – 2011-01-12 15:32:59
*我認爲它可能正在尋找當前頁面中的所有元素* - nope,這將是`$(「[id]:visible:enabled」)`。調用`find`只會搜索你所謂的`find`,而不是整個頁面。 – 2011-01-12 15:46:17