2012-12-19 22 views
3

我得到了錯誤 '錯誤:SYNTAX_ERR:DOM異常12',此代碼:錯誤:SYNTAX_ERR:DOM異常12

var html = '<table><tr><td></td><td><input type="text" name="textArea" value="some text" /></td></tr></table>'; 
$(this.propertyContainer).html(html) 

與此代碼:

$(this.propertyContainer).html('<table><tr><td></td><td><input type="text" name="textArea" value="some text" /></td></tr></table>') 

這裏是propertyContainer的html:

<div xmlns="http://www.w3.org/1999/xhtml" class="property-grid" style="position: absolute; top: 35px; left: 0px;" id="ext-gen126"></div> 

你有什麼想法嗎?

+3

是什麼'this' ??? –

+0

'this'是一個對象,它不是很重要,它包含'propertyContainer'我指定 – Charles

+0

異常12是語法錯誤,您確定propertyContainer值是否有效? –

回答

2

我找到了。我忘了在輸入標籤的結束字符「/」 ...

我想這是因爲DTD的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus SVG 1.1//EN" 
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd" 
> 

對不起那個......

1

沒有這裏的錯誤:http://jsfiddle.net/PA4Eg/

可能犯的錯誤是一個與上下文,我想(的this的意思)。

來源:

var obj = { 
     propertyContainer: document.getElementById('ext-gen126') 
    }, 
    html = '<table><tr><td></td><td><input type="text" name="textArea" value="some text" /></td></tr></table>'; 

$(obj.propertyContainer).html(html); 
​ 

在這個例子中波紋管我的源是一樣的:

var obj = { 
     propertyContainer: document.getElementById('ext-gen126') 
    }, 
    html = '<table><tr><td></td><td><input type="text" name="textArea" value="some text" /></td></tr></table>'; 

setHtml.call(obj, html); 

function setHtml(html) { 
    $(this.propertyContainer).html(html); 
} 
​ 

我用函數來設置定格的HTML內容。對於此功能,我使用obj作爲上下文。它再次運作。我希望你能通過與上面的代碼進行比較來修復你的代碼。