Browse Source

fix escaped titles. use DOM manipulation

raylu 14 years ago
parent
commit
485f2f0152
1 changed files with 12 additions and 11 deletions
  1. 12 11
      static/script.js

+ 12 - 11
static/script.js

@@ -150,20 +150,23 @@ function search(query) {
 	}
 	$.getJSON('https://gdata.youtube.com/feeds/api/videos', params,
 		function (data) {
+			$('#results ul li').remove();
+			var results = $('#results ul');
 			var entries = data.feed.entry;
-			var items = [];
 			for (var i = 0; i < entries.length; i++) {
 				var title = entries[i].title.$t;
-				var escapedTitle = title.replace("'", '\\\'');
+				var escapedTitle = title.replace(/'/g, "\\'").replace(/"/g, '\\"');
 				var id = entries[i].media$group.yt$videoid.$t;
-				var html = '<li id="r_' + id + '">';
-				html += '<a href="javascript:add(\'' + id + '\', \'' + escapedTitle + '\')">';
-				html += '<img src="http://i.ytimg.com/vi/' + id  + '/1.jpg" alt="' + id + '">';
-				html +=	title;
-				html += '</a></li>';
-				items.push(html);
+				var li = $(document.createElement('li'))
+						.attr('id', 'r_' + id)
+						.append($(document.createElement('a'))
+								.attr('href', "javascript:add('" + id + "', '" + escapedTitle + "')")
+								.append($(document.createElement('img'))
+										.attr('src', 'http://i.ytimg.com/vi/' + id  + '/1.jpg')
+										.attr('alt', id))
+								.append(title));
+				results.append(li);
 			}
-			var results = $('#results ul').html(items.join('\n'));
 			$('#results').slideDown(100);
 		}
 	);
@@ -248,7 +251,6 @@ function drawMove(id, dir) {
 		element1 = $('#' + id);
 		element2 = $('#' + element2.id);
 		element1.fadeOut(200, function () {
-			element1.detach();
 			element2.before(element1);
 			element1.fadeIn(200);
 		});
@@ -258,7 +260,6 @@ function drawMove(id, dir) {
 		element1 = $('#' + id);
 		element2 = $('#' + element2.id);
 		element1.fadeOut(200, function () {
-			element1.detach();
 			element2.after(element1);
 			element1.fadeIn(200);
 		});