這應該工作:http://jsfiddle.net/epinapala/eLhLS/38/
$(function(){
$('#search-input').live('keyup',function() {
// alert('hi');
var clone = $('#result').find('.item').clone();
$('#result').html('');
$("#result").html(clone);
var search_input = $(this).val();
var keyword = encodeURIComponent(search_input);
var yt_url = 'http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&max-results=10&v=2&alt=jsonc';
$.ajax({
url: yt_url,
type: 'GET',
dataType: 'jsonp',
complete: function(xhr, textStatus) {
//called when complete
},
success: function(response, textStatus, xhr) {
if(response.data.items) {
$.each(response.data.items, function(i, data) {
console.log(data)
search_data = {
'id': data.id,
'title': data.title,
'views': data.viewCount,
'thumbnail': data.thumbnail['sqDefault'],
}
var item = $('#result .item').clone().removeClass('item');
video_result_template(item, search_data).appendTo('#result').fadeIn(); // slow/fast?
});
} else {
}
},
error: function(xhr, textStatus, errorThrown) {
//called when there is an error
}
});
});
});
function video_result_template(item, data) {
item.find('.thumbnail').text(data.thumbnail);
item.find('.title').text(data.title);
item.find('.views').text(data.views);
return item;
}
是的,但我的首選是保持在HTML文件,而不是在js文件中的HTML,使事情更簡單,更整潔 – daydreamer
@daydreamer我編輯了小提琴,並更新了我的答案中的鏈接 – slash197
這真棒,感謝精彩的回答,現在我瞭解了爲什麼jQuery非常棒! – daydreamer