Я бы попробовал использовать удивительную $
функцию jQuery вместо jQuery
и посмотреть, работает ли она:
$('object').each(function()
{
$ytbURL = $(this).find('embed').attr('src');
$ytbID = $ytbURL.match(...);
});
Я сомневаюсь, что будет разница, но она может сработать.О, и вот вам действительно полезное регулярное выражение для захвата идентификаторов видео на YouTube: (?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+
.
Удачи!
Попробуйте это.Кроме того, не могли бы вы привести пример DOM-анализа, который выполняет jQuery?Это может быть связано с тем, что существует несколько тегов <embed>
, поэтому jQuery(this).find('embed')
будет возвращать массив, а не один объект.
jQuery('object').each(function()
{
$ytbURL = jQuery(this).children('embed:eq(0)').attr('src');
$ytbID = $ytbURL.match(...);
});