当用户点击<p>元素时更新<div>?</p> </div>

时间:2012-04-26 02:02:52

标签: javascript jquery html youtube

我有HTML代码:

<div id=ytVid>
    <iframe width="420" height="315" src="http://www.youtube.com/embed/5EdmHSTwmWY" frameborder="0" allowfullscreen></iframe>
    <script type="text/javascript" src="js/youtube.js"></script>
</div>

目前,我有一组由jQuery使用数组生成的段落。

我想要发生的是,当用户点击其中一个生成的段落时,这将从youtube.js文件中启动此代码:

$(document).ready(function() {
    function openLink(evt) {
        var search = evt.target.innerHTML;
        var keyword= encodeURIComponent(search);
        var yt_url='http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&max-results=1&v=2&alt=jsonc';

        $.ajax({
            type: "GET",
            url: yt_url,
            dataType:"jsonp",
            success: function(response) {
                if(response.data.items) {
                    $.each(response.data.items, function(i,data) {
                        var video_id=data.id;
                        var video_frame="<iframe width='420' height='236' src='http://www.youtube.com/embed/"+video_id+"' frameborder='0' type='text/html'></iframe>";
                        $("#ytVid").html(video_frame); 
                    });
                } else {
                    $("#ytVid").html("<div id='no'>No Video</div>");
                }
            }
        });
    };
});

我不知道上面的代码是否正确但它应该做的是采取数组中的内容(如果可能)或段落中的内容来搜索youtube以获取更新ytVid div的视频。

由于

1 个答案:

答案 0 :(得分:0)

在JavaScript jsfiddle的“简化”副本中,您将字符串括在括号中,这表示它们是数组。你也没有选择包含jQuery。

http://jsfiddle.net/PADL9/1/

这里有一个上面添加了JS的

http://jsfiddle.net/PADL9/2/

(删除AJAX的警报/返回工作)