2010-12-13 40 views
1

我需要克隆一個元素的文本,比如h1。我使用的是jQuery的clone(),但我只想複製文本而不是h1標籤,因此我可以將其插入到h3標籤中。我試過在.clone()之後使用text(),但它不起作用。如何使用jQuery的clone()克隆文本?

回答

6

這取決於你在做什麼之後,但它聽起來像是你只是想將文本設置爲同樣的事情,就像這樣:

$("h3").text($("h1").text()); 

另一種方法是.append()的的.text()<h1>,您可以直接這樣做:

$("h3").append($("h1").text()); 

但是,正如@bobince指出下面這可能是危險在某些情況下,L等我們一起來簡單的一個:

<h1>&lt;script&gt;alert("hi, I'm malicious script");&lt;/script&gt;</h1> 

You can see it in action here ......你能想像這可能是一些討厭的劇本有問題。

+5

你絕對想要第二個。第一個接受元素的文本並將其用作HTML,所以如果它中有'<或'&'字符,它們將被視爲標記(可能導致XSS安全漏洞)。 – bobince 2010-12-13 01:41:57

+0

@bobince - 絕對是一個有效的觀點,我改變了上面的順序,並附上了一個插圖,以便人們可以看到您所談論的漏洞情形。 – 2010-12-13 03:40:00

相關問題