2010-12-13 45 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

相关问题