2

当我将 HTML 添加到div元素并稍后尝试将其取回时,jQuery 要么删除 HTML 标记,要么将所有适用的字符转换为 HTML 实体,具体取决于我是否使用.html().text().

这是一个演示(jsfiddle

$('div').html('<h1>Hi, Alice & Bob</h1>');
console.log('html: ' + $('div').html());
console.log('text: ' + $('div').text());

控制台输出

html: <h1>Hi, Alice &amp; Bob</h1>
text: Hi, Alice & Bob 

我该如何准确地回来<h1>Hi, Alice & Bob</h1>

4

1 回答 1

0

除了像这样解码实体之外,我不知道有任何其他方法可以解决这个问题

var decode = function( val ) {
  var el  = document.createElement('textarea');
      el.innerHTML = val;
  return el.value;
};

这是一个可以为您执行此操作的功能

和这样的用法

$('div').html('<h1>Hi, Alice & Bob</h1>');
console.log( decode( $('div').html() ) );
// Result is => <h1>Hi, Alice & Bob</h1> 

演示

于 2013-07-27T00:58:29.307 回答