JavaScript:为什么我的 HTML 中会出现 "quotes"?

标签 javascript jquery json

这段相当短的代码:

<div id='votmplayer'></div>
<script>

  $.getJSON('/json/votm.json', function(votmjson) {
    $.getJSON('/cgi-bin/getvideo.cgi?'+votmjson.videos[0].id, function(votmchoice) {
      document.getElementById('votmplayer').innerHTML=votmchoice.embed.code;
        });
    });

</script>

正在产生意外的输出。渲染的 HTML 显示:

<div id='votmplayer'>
  "<iframe src="http://www.website.com/embed/abcdefghij123456" frameborder="0" width="608" height="468" scrolling="no"</iframe>"
</div>

这当然给了我 <iframe> 作为文字文本。我尝试了以下方法,但结果是一样的:

var choice = votmchoice.embed.code;
document.getElementById('votmplayer').innerHTML=choice;

console.log(votmplayer) 在 Chome 中显示以下内容:

embed: Object
    code: "&lt;iframe src=&quot;http://www.website.com/embed/abcdefgij1234565&quot; frameborder=&quot;0&quot; width=&quot;608&quot; height=&quot;468&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;"

我有点困惑,因为我在网页的其他地方使用了类似的代码并且它被正确呈现。我在 Google 上找不到类似的内容,但也许我问错了问题。

最佳答案

您正在使用 JQuery(我是对的吗?)。所以:
JQuery 可以从字符串创建节点,例如:

$('<h1>Heading</h1>')

它返回一个 JQuery DOM 元素。它还具有将 HTML 简化字符串转换为 HTML 字符串并从中创建 JQuery 节点的方法:

$('#votmplayer').html( $.parseHTML(votmchoice.embed.code)[0].textContent );

我创建了一个工作 fiddle

关于JavaScript:为什么我的 HTML 中会出现 "quotes"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34435870/

相关文章:

javascript - 自定义 HTML 选择菜单

Javascript 函数未显示

JavaScript - 维护对象键值顺序

javascript - 数据表编辑器不发送 ID

javascript - MongoDB lte 不起作用

javascript - Electron 应用程序中的 Angular2 错误 : No Provider for PlatformRef

javascript - 为什么这段 JavaScript 代码会返回错误?

javascript - 哪个js函数更适合工业标准?

javascript - JS "@media"js命令的设备分辨率改变属性

java - 解析 JSON 对象时 Gson 解析错误