2015-11-17 24 views
0

我有一个包含文本和标签的变量。将变量追加到元素时,标记不会被解释为标记。相反,它被解释为文本。将html附加为变量不会解释标签

拿这个例子:

var translationWrapper = $("<div class='list-label'></div>"); 
translationWrapper.html('<span> test </span>'); 
var translationContent = ""; 
translationContent += 'Testtext <em> test </em>'; 
translationWrapper.append(translationContent); 

如果我这样做。电子标签不被解释为标签。相反,它被解释为文本。我如何让它解释标签?

+1

jQuery的['追加(..)'](http://api.jquery.com/append/)取字符串,所述单证给出了一个例子'$(“.inner”).append(“

Test

”);'。我在[小提琴](https://jsfiddle.net/90k92a02/)中运行了你的代码,它似乎工作正常。 –

+0

谢谢。它告诉我,这不会导致问题。所以这个问题似乎在我的代码中。 – Kbi

回答

1

追加之前,您需要将其转换为jQuery对象

translationContent += 'Testtext <em> test </em>'; 
translationWrapper.append($(translationContent)); 
+0

谢谢。那正是我错过的。 – Kbi

+0

@Kbi - 如果这是你的解决方案,那么请接受它。 – Aviator

+0

直到12分钟过去,我无法接受。我发现了另外一件事:如果我用translationContent =“”创建变量;这是行不通的。我是否必须将其生成为jQuery对象? – Kbi

0

从乔治·李的评论“解决”我的问题。问题不在于提供的代码中。这似乎是在我的数据。

使用

jQuery(translationWrapper).append(translationContent); 

工作正常