2016-03-02 1091 views
0

在控制檯中執行此操作時,爲什麼會出現解析錯誤?Javascript DOMParser.parseFromString給出解析錯誤

TR = '<TR id=line1 class="myClass"><INPUT id=input1 type=hidden> <INPUT id=input2> <TD style="PADDING-LEFT: 20px" align=left> <IMG class=im border=0 src="images/img.gif"> Hello </TD><!-- comment --> <TD id=cell1 align=right></TD> <TD id=cell2 align=right></TD> <TD align=middle>&nbsp; </TD> <TD align=middle></TD></TR>'; 
parser = new DOMParser() 
xmlDocument = _parser.parseFromString(TR, "text/xml"); 

回答

1

第一個問題(我認爲這不是你遇到的問題,而不是這個代碼被錯誤地複製粘貼):你的變量名是parser,而不是_parser

你的主要問題是,你正在試圖解析HTML爲XML,這將工作IF你的HTML也是有效的XML。但你的不是。引用你的屬性來開始。那就是

error on line 1 at column 8: AttValue: " or ' expected 

的意思。

當你這樣做後,關閉你的void元素。可以忽略HTML5中的斜線,但不要使用更嚴格的XML規則。

1

您創建一個新的DOMParser(),並將其分配給名爲parser一個變量:

parser = new DOMParser() 

但你的下一行引用一個未聲明的變量_parser

xmlDocument = _parser.parseFromString(TR, "text/xml"); 

如果您將_parser替換爲parser,控制檯錯誤應該消失。