關於 jQuery,什麼叫隱式迭代(implicit iteration)?

時間 2021-05-30 20:33:43

1樓:蕭天鳴

每當我們呼叫選擇器方法查詢dom樹里的元素時,其實就是把找到的dom元素存入乙個JQ物件裡的dom陣列中,然後再把這個JQ物件返回。

當我們呼叫Jquery方法時(如 html()),jq方法會遍歷內部 dom陣列,並呼叫每個dom元素的對應的dom屬性或方法(如innerHTML),完成操作。

其中Jq方法遍歷內部dom陣列的過程就叫做隱式迭代

2樓:

簡單來說:

$('.class')返回的是乙個物件陣列,對其呼叫方法其實是對每個陣列中每個元素迭代呼叫這個方法,相當於使用了迴圈,遍歷元素呼叫方法。

具體舉例請看@楊帆的回答。:)

3樓:

舉幾個例子就明白了。

$('.className') 這其實是乙個陣列集合,並不是直接的DOM元素

所以像 $('.className').addClass('newClass'),執行的其實是類似這樣的語句

$('.className').each(function() );

還有一些例子,比如

$('.notExistClass').addClass('newClass');

即使沒有符合$('.notExistClass')條件的DOM元素,jQuery同樣也不會報錯。

再比如$('.className'),其實是乙個陣列集合,符合這個表示式的DOM元素可能超過1個

但是 $('.className').attr('id') 返回的只是第乙個DOM元素的屬性值。

不知道這樣說,清楚不?

為什麼共振結構式叫共振結構式呢?

Bright Summer 這個問題還是結構共振論的提出者Linus Pauling最有發言權。以下引自他的經典著作 化學鍵的本質 化學鍵的本質 Linus Pauling 通俗地說 價鍵理論 VBT 所能處理的是定域化學鍵。但是如果出現了能夠離域的電子體系怎麼辦?我們大可使用分子軌道理論 MOT ...

c 中進行型別轉換時,為什麼子類可以隱式轉換到父類?

面對物件原則之,黎克特制替換原則。Liskov於1987年提出了乙個關於繼承的原則 Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.繼承...

為什麼頂級的政治鬥爭叫 拜占庭式的宮廷陰謀 ?

ABCDEFG 拜占庭的皇帝沒有乙個正統性高的,所以拜占庭國內政治長期不穩定,權力鬥爭高發。可以說拜占庭帝國是中世紀歐洲權力鬥爭最密集的地區。 Makrembolitissa 拜占庭 Byzantine 作為乙個形容詞,自發明以降,便一直伴隨著諸多負面含義,其原因乃是西方長久以來對拜占庭的偏見。在八...