5

この JQuery が完全なブロックの HTML 文字をレンダリングする理由に興味があります。

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

しかし、これはしません:

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

タグを囲まずに (HTML または 16 進数で) 1 つの特殊文字をレンダリングする方法はありますか?

JSFiddle はこちら: http://jsfiddle.net/G2Km8/2/

4

2 に答える 2

3

これは、JQuery が 2 番目のケースを HTML フラグメントではなく CSS セレクターとして扱うためだと思います。おそらく「᫼」に一致する要素がないため ドキュメントでは、基本的に空の要素セットを本文に追加しています。

直接使ってみる

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

これにより、文字列が HTML フラグメントなのか CSS セレクターなのかを JQuery が推測する必要がなくなります。String が渡されると、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 に答える