2012-10-29 27 views
18

在IE9中使用角度js加載頁面時出現此錯誤。 Chrom/FF沒有問題。IE9 AngularJs問題:無法獲取屬性'nodeName'的值:對象爲null或undefinedundefined

「無法獲得屬性的值‘節點名稱’:對象爲空或undefinedundefined」

任何指針將help.I認爲這是作爲固定角的js 1.0.1版本的一部分。

+0

你能提供代碼嗎? –

+0

在AngularJS Google Group上,有人發佈了[完全相同的問題](https://groups.google.com/forum/?fromgroups=#!topic/angular/7GgtvagNIZI)。有一個代碼鏈接到GitHub頁面。 – cebru

+0

這仍然發生在AngularJS 1.2.13 - 不依賴於版本。無效的標記可能會繼續導致錯誤,這是框架無法解決的問題。 –

回答

23

我在IE9中遇到了這個錯誤,當時我不小心有了下面的非法標記。

<table> 
    <h3>foo</h3> 

    ..... blah 

</table> 

也許運行一個html lint以確保你沒有違反任何規則。

+4

我在工作中遇到了這個確切的問題。在之後,我們在​​之外發現了一些錯位的文字。無效的標記確實似乎是這裏的問題。 – cebru

+0

同樣是我的問題。但Chrome/FF沒有拋出像這樣的錯誤。 – Aki

+0

這個錯誤難倒了我和我配對的程序員。我們不小心在HTML的一個錯誤的無效部分留下了一些標記。感謝@MatthewTschiegg找到這個。 – mkelley33

0

我在angular-perf.js上得到了這個錯誤。如果添加一個條件註釋來排除IE,它會起作用,但是你不能在IE中使用angular-perf。

0

對我來說,罪魁禍首是THEAD標籤在表:

<table> 
    <thead>bla</thead> 
    ...   
</table> 
0

對於我來說,它是具有div中表行的情況。一旦我刪除了介入的div,我就很好。

<table> 
    <div> 
    <tr></tr> 
    </div> 
</table> 
4

的問題是:

<table> 
    <tr ng-repeat="p in list"> 
     <td>{{p.f1}}</td> {{p.f2}} 
    </tr> 
<table> 

記住<tr>應該只包含<td>標籤沒有任何其他標籤或根據HTML規範的原始文本。現代瀏覽器(包括IE 10)可以處理這個錯誤,但在IE 9中會產生錯誤。

+0

確實。幾分鐘前我遇到了類似的情況,錯誤是一個錯誤的HTML註釋。 –

0

對我而言問題是< <之前返回超鏈接。我使用htmllint並解決了所有非法標記錯誤,除了角度錯誤之外。

2

最可能的是你內心的

<table> <SOMETHING> </table> 

我建議你從複製瀏覽器的DOM和做的https://validator.w3.org/check檢查的語法搞砸。 尋找類似的錯誤:文檔類型不允許元素「SOMETHING」在這裏;缺少「TH」,「TD」開始標記之一。

0

我有同樣的問題,這是因爲在<table>我已經把一些<h3>不裹<tr><td>,而且,我有一些<br><br/>標籤,最好是<br />,爲XHTML的緣故。

相關問題