摘要:第一行代碼完全能看懂,就是用選擇指定的元素,代碼最后加了,是因?yàn)橛眠x擇器得到的結(jié)果是數(shù)組。好了,短短的兩行代碼,花了自己一上午才研究清楚,也是蠻有意思的,哈哈。
今天上午閑來(lái)無(wú)事,就想著把 前端相關(guān)資源匯總 這篇文章中收集的鏈接整理一下,看到 《jQuery === 面條式代碼?》 這篇文章的時(shí)候,感覺(jué)里面的代碼挺有意思 ,于是就一邊讀文章,一邊照著敲代碼。
敲到文章第一節(jié)中一段 JS 代碼的時(shí)候,自己就有些迷糊了,因?yàn)榭吹搅艘郧皬膩?lái)沒(méi)見(jiàn)到過(guò)的用法。
第一行 JS 代碼完全能看懂,就是用 jQuery 選擇指定的 DOM 元素,代碼最后加了 [0],是因?yàn)橛?$() 選擇器得到的結(jié)果是數(shù)組。
可第二行的 $(form.texMsg) 究竟是怎么定位到 textarea 元素上的?
最開(kāi)始以為是 $("div.className") 這種語(yǔ)法,于是把第一行 JS 代碼注釋掉,發(fā)現(xiàn)代碼就不能用了,看來(lái)猜測(cè)不正確。而且!如果是 $("div.className") 這種語(yǔ)法的話,括號(hào)里面的雙引號(hào)可是不能省略的!
另外,自己還查了 jQuery 的 API 文檔,$() 這種語(yǔ)法的參數(shù)好像只接收字符串啊,可 form.textMsg 怎么看都不像是字符串,莫非 jQuery 源碼中對(duì)非字符串類(lèi)型的參數(shù)做了處理?
下面的 HTML 與上面的 JS 相對(duì)應(yīng)。
那就用代碼試試吧。于是重新寫(xiě)了 HTML 和 JS 進(jìn)行測(cè)試。
結(jié)果發(fā)現(xiàn),如果變量 dd1 是一個(gè)具體的 DOM 元素的話,$(dd1) 這樣的語(yǔ)法是可以成功選擇該元素的。
但是,不管子元素是什么類(lèi)型,$(dd1.d2) 這樣的語(yǔ)法都無(wú)法選擇子元素。這個(gè)時(shí)候,父元素是 div 類(lèi)型。
那么如果我參照前面的代碼,把父元素改成 form 類(lèi)型的呢?經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)父元素必須是 form 類(lèi)型,子元素必須是有效的表單元素:input、textarea 和 button,$(dd1.d2) 這樣的語(yǔ)法才能選中子元素。也就是文章中的第二張圖。
這個(gè)時(shí)候,自己又看了看第一張圖中的第三行代碼:form.tweet,這就完全是原生 JS 的用法了,既然這種語(yǔ)法也是有效的,那么是不是就意味著:在原生 JS 中,如果變量 dd1 是 form 類(lèi)型的 DOM 元素,其子元素是有效的表單元素,并且子元素指定 name 屬性值為 d2 的話,就能用 dd1.d2 這種語(yǔ)法選擇子元素?測(cè)試了一下,果然如此!
再拓展一下,如果多個(gè)子元素具有相同的 name 屬性值,那么用上面的代碼,應(yīng)該會(huì)選中所有這些元素吧?嗯,果然是這樣。
好了,短短的兩行代碼,花了自己一上午才研究清楚,也是蠻有意思的,哈哈。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/92459.html
摘要:前言初衷以系列故事的方式展現(xiàn)源碼邏輯,盡可能以易懂的方式講解源碼本系列文章用故事解讀源碼一用故事解讀源碼二用故事解讀源碼三用故事解讀源碼四裝飾器和用故事解讀源碼五文章編排每篇文章分成兩大段,第一大段以簡(jiǎn)單的偵探系列故事的形式講解所涉及人物場(chǎng) ================前言=================== 初衷:以系列故事的方式展現(xiàn) MobX 源碼邏輯,盡可能以易懂的方式...
摘要:如果沒(méi)有,請(qǐng)記住列表中的第一項(xiàng)是項(xiàng)。通過(guò)練習(xí),您將更好地計(jì)算列表中的項(xiàng)目。例如,要將項(xiàng)添加到我們的水果列表中,我們可以使用名為的方法。通過(guò)這樣做,該項(xiàng)目的值也將被刪除。在中,這意味著使用以及名稱(chēng)和要?jiǎng)h除的項(xiàng)目的名稱(chēng)。 showImg(https://segmentfault.com/img/remote/1460000019177365?w=852&h=479); 來(lái)源 | 愿碼(C...
摘要:沒(méi)想到會(huì)被轉(zhuǎn)發(fā)??磥?lái)眼球多了的確容易糾錯(cuò)。有時(shí)候你已經(jīng)用它寫(xiě)了數(shù)萬(wàn)行代碼,自以為很熟了。賦值最簡(jiǎn)單的賦值到底發(fā)生了什么呢一個(gè)變量被賦值了太籠統(tǒng)了吧。也就是說(shuō)是把同一個(gè)對(duì)象傳給了。這里,所綁定的對(duì)象的確被傳進(jìn)來(lái)了,的確生成了一個(gè)新對(duì)象。 [EDIT] 沒(méi)想到會(huì)被轉(zhuǎn)發(fā)。很高興也很?chē)?。看?lái)眼球多了的確容易糾錯(cuò)。要小心啊小心。 編程語(yǔ)言就是這樣。有時(shí)候你已經(jīng)用它寫(xiě)了數(shù)萬(wàn)行代碼,自以為很熟了。知...
摘要:所以看出和兩個(gè)的對(duì)應(yīng)指針數(shù)一樣,一個(gè)為一個(gè)為這就引出了變量的知識(shí)點(diǎn),如手工畫(huà)的圖二為啥強(qiáng)制子類(lèi)父類(lèi)變量名不同阿里巴巴手冊(cè)是這樣寫(xiě)的強(qiáng)制避免在子父類(lèi)的成員變量之間或者不同代碼塊的局部變量之間采用完全相同的命名方式,那會(huì)導(dǎo)致代碼可讀性降低。 摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號(hào):泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝! 目錄 父子...
摘要:匯報(bào)的時(shí)間匯報(bào)時(shí)間一般在分鐘分鐘左右,如果分鐘,最好不要超過(guò)頁(yè)分鐘不要超過(guò)頁(yè)。報(bào)告的標(biāo)注結(jié)構(gòu)非一般的貢獻(xiàn)機(jī)會(huì)戰(zhàn)略如何知道老板關(guān)注什么每?jī)蓚€(gè)月找老板溝通,把你最近做的事情放在發(fā)生以前講講機(jī)會(huì),挑戰(zhàn),戰(zhàn)略,風(fēng)險(xiǎn),試探的問(wèn)哪幾個(gè)點(diǎn)比較重要。 匯報(bào)的時(shí)間 匯報(bào)時(shí)間一般在10分鐘~15分鐘左右,如果10分鐘,最好不要超過(guò)10頁(yè)P(yáng)PT, 15分鐘不要超過(guò)15頁(yè)P(yáng)PT。70%的時(shí)間講完核心故事, 如...
閱讀 1786·2021-10-25 09:46
閱讀 3422·2021-10-08 10:04
閱讀 2534·2021-09-06 15:00
閱讀 2960·2021-08-19 10:57
閱讀 2221·2019-08-30 11:03
閱讀 1149·2019-08-30 11:00
閱讀 2605·2019-08-26 17:10
閱讀 3713·2019-08-26 13:36