我有一个函数可以为每个JSON对象创建一个新的Youtube iframe。
var createYTPlayer = function () {
var ytVidPlayer = $("<iframe/>");
var videoId = raw_content.media[counter].video;
ytVidPlayer.attr({
height: 315,
width: 560,
src: 'https://www.youtube.com/embed/' + videoId,
frameborder: 0
});
return ytVidPlayer;
};
video
函数从createYTPlayer
函数获取返回的YT播放器对象。
var video = function () {
// Development
console.log('shortcodeController.video');
var outputHTML;
var ytPlayer;
if (raw_content.media[counter].video != undefined) {
outputHTML = '<div class="video">';
// Youtube object
ytPlayer = createYTPlayer();
console.log('youtube player: ', ytPlayer);
outputHTML += ytPlayer;
outputHTML +='</div>';
console.log(outputHTML);
return outputHTML;
};
};
然后它应该将对象转换为字符串,因为我在字符串中收到错误[object Object]
。我将它添加到包含文本的JSON对象。它将使用函数video
的输出替换JSON文本中的特定字符,该函数将返回新的视频对象。
我该如何解决这个问题?
答案 0 :(得分:1)
查看this answer,其中描述了如何将jQuery对象“转换”为其字符串表示形式。在这里,它是根据您的用例量身定制的:
$qb = $this->createQueryBuilder('BaseLog')
->hydrate(true)
->field('template_id')->Equals($templateId);
...
return $qb->getQuery(array('timeout' => -1))->execute();
答案 1 :(得分:1)
你不能只是将对象连接到字符串, 你需要得到元素的html,而不是它自己的对象。 您可以使用'outerHTML'函数
获取元素的外部html替换
outputHTML += ytPlayer;
与
outputHTML += $(ytPlayer)[0].outerHTML;
答案 2 :(得分:-1)
您可以对对象进行字符串化,但我只是出于调试目的。
JSON.stringify(ytPlayer);