JS開(kāi)發(fā)中最常見(jiàn)也是最不好排查的錯(cuò)誤之一

好多寫(xiě)前端JS的開(kāi)發(fā)者經(jīng)常在修改代碼(不管是自己的還是別人的)的時(shí)候經(jīng)常會(huì)出現(xiàn)修改了某個(gè)元素節(jié)點(diǎn)之后接下來(lái)的代碼無(wú)法執(zhí)行屎即,或者報(bào)一些莫名其妙的錯(cuò)誤掐松,但是當(dāng)你檢查代碼的時(shí)候又會(huì)發(fā)現(xiàn)代碼邏輯或者語(yǔ)法沒(méi)有一點(diǎn)錯(cuò)誤。這就很讓人蛋疼了……
一般出現(xiàn)這樣的問(wèn)題通常都是使用選擇器的時(shí)候,如果當(dāng)選擇器指定的元素績(jī)點(diǎn)不存在,代碼執(zhí)行到這一步的時(shí)候就會(huì)停止,然后報(bào)一個(gè)錯(cuò)誤遂唧,諸如
"Uncaught TypeError: Cannot set property 'innerHTML' of null"   /AJAX_TEST/selector_test.html (43)
來(lái)看下面這段代碼:
<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            html,body{
                height: 100%;
                width: 100%;
                padding: 0px;
                margin: 0px;
                background-color: darkred;
            }
            #div1{
                width: 100%;
                height: 30%;
                background-color: darkolivegreen;
            }
            
            .div2{
                width: 100%;
                height: 30%;
                background-color: darkturquoise;
            }
            
            .div3{
                width: 100%;
                height: 30%;
                background-color: darkturquoise;
            }
        </style>
    </head>
    <body>
        <div id="div1">
            <!--<div class="div3"></div>-->
        </div>
        
        <div class="div2">
        </div>
        
        <script type="text/javascript">
            document.querySelector("#div1 > div").innerHTML = "first div";
            alert("111111111111");
        </script>
    </body>
</html>

當(dāng)我們運(yùn)行這段代碼的時(shí)候報(bào)出了一個(gè)錯(cuò)誤

"Uncaught TypeError: Cannot set property 'innerHTML' of null"   /AJAX_TEST/selector_test.html (43)

這個(gè)時(shí)候我們只要根據(jù)錯(cuò)誤提示找到出錯(cuò)的地方(43)行,這個(gè)時(shí)候我們會(huì)發(fā)現(xiàn)這段代碼

document.querySelector("#div1 > div").innerHTML = "first div";

出錯(cuò)的原因就是

document.querySelector("#div1 > div")

該選擇器找不到該元素節(jié)點(diǎn)吊奢,然后我們根據(jù)選擇器找到節(jié)點(diǎn)

<div id="div1">
    <!--<div class="div3"></div>-->
</div>

發(fā)現(xiàn)該元素節(jié)點(diǎn)被注釋掉了盖彭,我們將該注釋取消就OK了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末页滚,一起剝皮案震驚了整個(gè)濱河市召边,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌裹驰,老刑警劉巖隧熙,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異幻林,居然都是意外死亡贞盯,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)沪饺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)躏敢,“玉大人,你說(shuō)我怎么就攤上這事整葡〖啵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵遭居,是天一觀的道長(zhǎng)啼器。 經(jīng)常有香客問(wèn)我,道長(zhǎng)俱萍,這世上最難降的妖魔是什么镀首? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮鼠次,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己腥寇,他們只是感情好成翩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著赦役,像睡著了一般麻敌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掂摔,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天术羔,我揣著相機(jī)與錄音,去河邊找鬼乙漓。 笑死级历,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叭披。 我是一名探鬼主播寥殖,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼涩蜘!你這毒婦竟也來(lái)了嚼贡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤同诫,失蹤者是張志新(化名)和其女友劉穎粤策,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體误窖,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叮盘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贩猎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熊户。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖吭服,靈堂內(nèi)的尸體忽然破棺而出嚷堡,到底是詐尸還是另有隱情,我是刑警寧澤艇棕,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布蝌戒,位于F島的核電站,受9級(jí)特大地震影響沼琉,放射性物質(zhì)發(fā)生泄漏北苟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一打瘪、第九天 我趴在偏房一處隱蔽的房頂上張望友鼻。 院中可真熱鬧傻昙,春花似錦、人聲如沸彩扔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)虫碉。三九已至贾惦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敦捧,已是汗流浹背须板。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兢卵,地道東北人习瑰。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像济蝉,于是被迫代替她去往敵國(guó)和親杰刽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,863評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理王滤,服務(wù)發(fā)現(xiàn)贺嫂,斷路器,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • ? 大可以像《終有人住進(jìn)你心里》的封面少女一樣,挑個(gè)閑暇的午后踱稍,靜坐在陽(yáng)臺(tái)上曲饱,一杯咖啡,三五塊曲奇珠月,捧上這本書(shū)扩淀,開(kāi)...
    慕靈珊閱讀 514評(píng)論 2 7
  • 一個(gè)人聽(tīng)著歌漫步在朦朧細(xì)雨中 很簡(jiǎn)單 很安靜 卻很幸福
    漫步偵查員閱讀 134評(píng)論 0 0
  • 文|一只吱吱呦 上天讓你來(lái)到一個(gè)學(xué)校,一定是因?yàn)檫@里有將要遇到的人 01 校慶那天被一對(duì)金婚夫婦刷屏啤挎,集體婚禮結(jié)束...
    一只吱吱呦閱讀 269評(píng)論 0 3