2010-05-28 140 views
0

比如我有這樣的HTML代碼:如何在沒有id的情況下使用innerHTML HTML標籤?

<div id="canvas"> 
    <div id="root"> 
     <div id="content"> 
      <span> 
       <title>My SVG Example Title</title> 
       <ellipse id="svg_1" /> 
      </span> 
     </div> 
    </div> 
</div> 

我怎麼能innerHTML的不改變使用jQuery的<title>標籤<span>標籤? 所以我預計產出將是這樣的:

<div id="canvas"> 
    <div id="root"> 
     <div id="content"> 
      <span> 
       <title>My SVG Example Title</title> 
       <input type="text" value="this is the innerHTML I must insert but how?" /> 
      </span> 
     </div> 
    </div> 
</div> 
+3

爲什麼span中有標題標籤嗎? @ _ @ – corroded 2010-05-28 06:31:36

+0

這是一個SVG標記 – marknt15 2010-05-28 07:07:41

回答

3
$('#canvas') 
.find('span') 
.contents() 
.not('title') 
.replaceWith($('<input />', { 
    type: 'text', 
    value: 'this is the innerHTML I must insert but how?' 
})); 
+0

不錯。謝謝jAndy和所有回覆:) – marknt15 2010-05-28 07:13:08

0

取出ellipse元素,並添加您的input元素:

$("#content span ellipse").remove() 
var input = $("<input>").attr("type", "text").attr("value", "foo"); 
$("#content span").append(input); 
+0

好吧,你是對的。但他沒有提到結構總是這樣。 – jAndy 2010-05-28 06:25:07

2

我這樣做:

var newHtml = '<input type="text" value="NewStuff!" />'; 

$("#svg_1").after(newHtml).remove(); 
相關問題