如何使用.text或.html编写特殊字符?

Jac*_*tal 3 javascript jquery special-characters

我正在制作纸牌游戏,所以我制作了这个剧本,但我不知道它为什么不输出符号♥,而只是♥作为一个字符串,任何人都知道为什么?

$(document).ready(function() {

function makeCard(kind) {
    var
        card = $('<div>', { class: 'card' }),
        color = (kind == 'hearts' || kind == 'diams') ? 'red' : 'black',
        upper = $('<div>', { class: 'upper card-symbol ' + color, text: '\&' + kind + '\;' }),
        lower = $('<div>', { class: 'lower card-symbol ' + color, text: '\&' + kind + '\;' });

    card.append(upper).append(lower);
    card.appendTo('body');
}

makeCard('hearts');

});
Run Code Online (Sandbox Code Playgroud)

ish*_*ood 7

你想要HTML,而不是文字:

http://jsfiddle.net/cxNqK/2/

    upper = $('<div>', {
        'class': 'upper card-symbol ' + color,
        html: '\&' + kind + '\;'
    }),
    lower = $('<div>', {
        'class': 'lower card-symbol ' + color,
        html: '\&' + kind + '\;'
    });
Run Code Online (Sandbox Code Playgroud)

  • 来自[jQuery docs](http://api.jquery.com/jQuery/#jQuery2):*必须在对象中引用名称`class`,因为它是一个JavaScript保留字,并且不能使用`className`因为它引用了DOM属性,而不是属性.* (4认同)
  • 对不起,我没有提到.`class`是JavaScript中的保留字.ECMAScript 5允许使用`class`作为变量名或属性,但在不支持ES5的旧浏览器中,它会抛出错误. (2认同)