Jquery Изменить атрибут val перед добавлением - PullRequest
0 голосов
/ 06 февраля 2011

У меня есть поле textarea, где пользователи могут вводить код для вставки youtube, затем при отправке я беру значение val текстовой области и добавляю его в тело.Я хочу добавить? Id = 123 в конец src в коде встраивания перед тем, как добавить его в тело.Какой самый простой способ сделать это.Добавленное значение должно быть кодом iframe с измененным src

Код для встраивания выглядит как

<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/aemXgP-2xyg" frameborder="0" allowfullscreen></iframe>

ОБНОВЛЕННЫЙ КОД

                var value = $('textarea').val();
                var wmode = '?id=123';
                var value1 = $(value).attr("src", $(value).attr("src") + wmode);                 
                var code = $('<div class="abs embed" id="embedId">' + value1 + '<span class="move"></span></div>');                 
                $(code).appendTo(...

Ответы [ 4 ]

2 голосов
/ 06 февраля 2011
var code = $("#TEXTAREA").val();
var appCode = $(code);
appCode.attr("src", appCode.attr("src") + "?id=123").appendTo($("#parentDiv"));
1 голос
/ 06 февраля 2011
var iframe = $($("textarea").val());
iframe.attr("src", function(i,v) { return v + '?id=123'; }).appendTo("body");

(обновлено решением Шиме Видаса)

edit: если у вас есть firebug, на этой странице вы можете скопировать / вставить код iframe в текстовое поле и запустить его в консоли:

var lol = $("textarea").val()
var iframe = $(lol);
var test = iframe.attr("src", function(i,v) { return v + '?id=123'; })
test.appendTo("body");

И видео YouTube должно быть вставлено в конце страницы.

edit 2: Чтобы сделать то, что вы хотите в своем обновлении, попробуйте:

var value = $('textarea').val(),
wmode = '?wmode=transparent',
value1 = $(value).attr("src", $(value).attr("src") + wmode),
span = $('<span class="move"></span>'),
div = $('<div class="abs embed" id="embedId"></div>');
div.append(value1).append(span).appendTo("body");
0 голосов
/ 06 февраля 2011
$(ta.value).attr('src', function(i,v) { return v + s; }).appendTo('body'); 

... где s - строка, которую вы хотите добавить к атрибуту src
... и ts элемент TEXTAREA

0 голосов
/ 06 февраля 2011

Все опубликованные решения хороши и работают, но я бы предпочел просто отключить src, если он существует, и посмотреть, действительно ли он является действительным источником видео.Если вы позволите им вводить html, вы сильно рискуете!

Посмотрите на Facebook, вы можете ввести ссылку, и он узнает, что это такое, и пользователю будет гораздо приятнее, если он просто перейдет по ссылке на YouTube, а не ищет весь код для вставки!Безопасность прежде всего!

...