5

我很好奇为什么这个 JQuery 呈现完整的块 HTML 字符:

var html = $('<div>&#9608;</div>');
$("body").append(html)

但这不会:

var html = $('&#9608;');
$("body").append(html)

有没有办法在不包含标签的情况下呈现一个特殊字符(通过 HTML 或十六进制)?

JSFiddle在这里:http: //jsfiddle.net/G2Km8/2/

4

2 回答 2

3

我认为这是因为 JQuery 将您的第二种情况视为 CSS 选择器而不是 HTML 片段。因为您可能没有任何匹配“᫼”的元素 在您的文档中,您基本上是将一组空元素附加到您的正文中。

尝试直接使用

$("body").append('&#9608');

这可以防止 JQuery 不得不猜测您的字符串是 HTML 片段还是 CSS 选择器。当传递一个字符串时,append 方法假定它是一个 HTML 片段。

于 2013-11-03T21:24:23.917 回答
3

var 不需要 $ 符号

检查这个:

http://jsfiddle.net/G2Km8/4/

$(document).ready(function(){
  $("button").click(function(){
    var html = "&#9608;";
    $("body").append(html);
  });
});
于 2013-11-03T21:40:32.120 回答