2015-07-21 85 views
2

我有一個現有的asp.net web應用程序,它有10年的歷史。到目前爲止,它以兼容模式運行於IE5。現在它必須轉換爲IE11 Edge兼容。突然間,低於典型的JavaScript和J-Query標籤開始失敗:當html有一些未封閉的標籤時,JavaScript功能是否會中斷?

document.getElementById('id of element')。和$('#id of element')

我檢查了div是否存在於頁面和查看源代碼中。在瀏覽View Source中生成的html時,我注意到有很多未封閉的標籤。

所以我的問題是未封閉的HTML標籤會影響JavaScript的工作嗎?上述聲明失敗可能是其他原因?我怎樣才能解決這個問題?

+0

你能添加圍繞javascript的html嗎? –

+1

Javascript與DOM協同工作。當頁面被解析並呈現時,瀏覽器將在創建DOM結構時自動關閉任何未封閉的標記。所以,不,它不應該影響你的Javascript。 **編輯:**好吧,我直到現在還不知道,但IE似乎有問題。去搞清楚。 –

+0

@ SverriM.Olsen不,你是對的。 IE只是使用不同的規則從無效的HTML中加載DOM。 – user2864740

回答

0

當你不關閉你的HTML標籤並嘗試用JavaScript訪問它們時,這對於IE來說是非常標準的方法,這裏有一篇像樣的文章:http://snook.ca/archives/javascript/close_your_tags

+0

如果它在DOM中,它可以通過JS訪問。因此,'hissy fit'僅僅是HTML在DOM中沒有按照預期被創建(HTML5使得處理規則更加正式化AFAIK,但是無效的HTML仍然是無效的);並沒有什麼特別與JavaScript相關的。 – user2864740

0

是的,如果您在IE中測試它,未封閉的HTML標記可能會影響JavaScript的工作。

相關問題