0

我正在用这样的jQuery创建一些元素 -

var div1 = $('<div />', {text: "Specials of <b>the searched text</b>"}).attr({"class": "spcl-thmb-hdr"});
div1.appendTo(li2); // appending to a <li /> tag

但是当他们加载时,他们只是不解析<b />标签。并打印出这样的东西 -

<div class="spcl-thmb-hdr">Specials of &lt;b&gt;the searched text&lt;/b&gt;</div>

如何让它解析text参数中的标签?

4

1 回答 1

1

您需要使用html而不是text将字符串视为 HTML,否则它将被编码。

您传入的地图$可以包含属性,您可以替换attr调用,也可以像这样:

$('<div />', {
    html: "Specials of <b>the searched text</b>",
    "class": "spcl-thmb-hdr"
});

来自jQuery 文档

从 jQuery 1.4 开始,第二个参数jQuery()可以接受一个映射,该映射由可以传递给该.attr()方法的属性的超集组成。此外,可以传入任何事件类型,并且可以调用以下 jQuery 方法:valcsshtmltextdatawidthheightoffset。该名称"class"必须在映射中引用,因为它是 JavaScript 保留字,并且"className"不能使用,因为它不是正确的属性名称。

于 2012-05-17T15:52:07.970 回答