【问题标题】:Inserting variable (grabbed from json) into element将变量(从 json 中获取)插入到元素中
【发布时间】:2013-02-02 10:03:41
【问题描述】:

我有一个从 YouTube json 回调中获取视频标题的函数,该函数有效 - 但是我在将变量插入元素时遇到问题。

这是我正在抓取的提要:

<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/2WNrx2jq184?v=2&amp;alt=json-in-script&amp;callback=youtubeFeedCallback"></script>

我正在使用的 javascript 函数:

function youtubeFeedCallback(data) {
var info = data.entry.title.$t;
document.write(info);
}

这很好用,但我想将它插入到 ID 为“box”的 div 中。

通常我会使用以下内容(并将其添加到函数中 - 并删除 document.write):

var box = document.getElementById('box');
box.innerHTML = info;

我就是不能让它工作。实现我想要做的事情的正确方法是什么?谢谢

http://jsfiddle.net/b3VYT/

【问题讨论】:

  • 也许这会对你有所帮助? jsfiddle.net/b3VYT/1
  • 这么简单...我猜脚本必须在元素下方?由于我所有的链接脚本都在页面顶部,我花了很多时间试图解决这个问题。谢谢

标签: javascript json variables callback youtube


【解决方案1】:

您需要确保在执行脚本之前声明了您正在使用的元素:

<div id='test'></div>
<script>
    function youtubeFeedCallback(data) {
         document.getElementById('test').innerHTML = data.entry.title.$t;
    }
</script>

Example

【讨论】:

    【解决方案2】:

    要么确保脚本位于元素下方,要么将代码包装在 document.ready 回调中,以便在加载 DOM 之前它不会运行。

    http://jsfiddle.net/b3VYT/1

    【讨论】:

    • 要让它在DOM加载完成后执行,是不是只需要加上window.onload = youtubeFeedCallback(data) {
    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 2015-10-09
    • 2018-02-25
    • 2017-12-26
    • 1970-01-01
    • 2015-10-22
    相关资源
    最近更新 更多