4 回答

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
最后一句改成:$bars.eq(i).css(style);
有道是,“文檔看的少,風(fēng)吹就要倒?!?/p>

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
樓上說(shuō)的是對(duì)的。
實(shí)際上,jQuery 在這里應(yīng)用了設(shè)計(jì)模式中的“享元模式”,即用一套共享的數(shù)據(jù)降低大量重復(fù)性內(nèi)容的內(nèi)存和運(yùn)算損耗。所以 $('.bar')
實(shí)際上取出來(lái)了所有 DOM 節(jié)點(diǎn),然后返回的 $bars
并非 DOM Collection,而是一個(gè) jQuery 實(shí)例,它是一個(gè)類數(shù)組對(duì)象,包含很多方法,比如 .css(attr, value)
。
所以你應(yīng)該用 $bars.css(style)。
另外,理論上 $bars[i]
會(huì)返回一個(gè) DOM 節(jié)點(diǎn),你直接調(diào)用 .css()
方法會(huì)報(bào)錯(cuò),建議你養(yǎng)成“不正常先看控制臺(tái)”的習(xí)慣,對(duì)將來(lái)會(huì)有很大幫助。
添加回答
舉報(bào)