Here是Jquery庫的.toggleClass()方法的API。我不確定如何實現開關部分。開關部分是否應該導致布爾值,如果是,那麼它是否被實現或不是?請解釋.toggleClass()API中的'switch'?
因此,如果代碼是:
`$('selector').toggleClass('class-to-be-toggled' , ($(this).hasClass('white')))`
和評估爲真,那麼.toggleClass()
將執行($(this).hasClass('white'))
,如果計算結果爲假,那麼.toggleClass()
不執行呢?
或者我誤解了switch
的目的。
只要我們談論寫速記的方法,爲什麼不''(this).is(「:checked」)''this.checked''? (在運行時效率更高,更容易打字和閱讀。) – nnnnnn 2012-07-24 06:54:21
@nnnnnn:我們之前已經討論過這個問題。我的看法與你的觀點一致,我想是。我通常不介意jQuery往返。 'this.cssFloat'可以在某些瀏覽器中使用,而不在其他瀏覽器中使用(IE使用/使用'styleFloat'),'$(this).css('float')'可以工作。對我而言,jQuery的最大好處是不必處理不同的瀏覽器實現。在我看來,被檢查的特定屬性在主流瀏覽器中沒有出現任何這種行爲不一致的事實,這並不是一個非常有說服力的理由。 – 2012-07-24 07:33:57
啊,是的,我記得你以前指出過的(我只是不記得是你,對不起)。我使用'.css()'來設置CSS屬性,但對於'.checked','.disabled'等等,我通常使用'this.checked','this.disabled'。也就是說,我知道有一些屬性可以在不需要jQuery的情況下以百分之百的信心工作。我一直在使用這些屬性很久(pre-jQuery),我甚至不需要考慮它們。 – nnnnnn 2012-07-24 07:49:51