【问题标题】:jQuery .before not including divsjQuery .before 不包括 div
【发布时间】:2016-11-11 12:19:15
【问题描述】:

所以有一个 h2 包含以下类 entry-contentH2,我只是想在 h2 之前包含以下 div,但它甚至没有显示任何内容。我似乎无法弄清楚为什么它没有添加它,因为当我在没有任何 div 的情况下尝试它并且只使用 text 进行测试时,它可以工作。

jQuery(function($) {    
    $(".entry-contentH2").before("<div class="video_player"><iframe id="ytplayer" type="text/html" width="640" height="390" src="https://www.youtube.com/embed/'.$recipe->recipe_video.'?fs=1" frameborder="0"></iframe></div>");
});

.before 在这种情况下不起作用的原因是什么?

这里是代码:https://jsfiddle.net/or9Lbbq0/2/

【问题讨论】:

  • 请包含运行此 JavaScript 的 HTML。您的代码中没有任何内容(除了前面提到的引号转义问题)会导致它无法工作。
  • @MikeMcCaughan 我在上面包含了一个 jsfiddle。
  • 请包含来自控制台的错误。
  • 另外,请让每个人都更轻松,只需在问题本身中添加minimal reproducible example,而不是在外部站点。
  • 您的小提琴在未转义引号方面仍然存在同样的问题,因此您可能也想在那里解决这个问题......

标签: javascript jquery


【解决方案1】:

您的 iframe 很可能被 youtube 屏蔽了。外部网站,例如:

  • youtube.com
  • google.com
  • stackoverflow.com

没有加载到你的框架中,是因为他们故意利用某种框架杀手。

推荐阅读:

see simular problem here

【讨论】:

  • 谢谢,但我已经知道这不是问题所在。它只是不移动 div、iframe,但如果我只包含没有任何 div 的文本,它会在 h2 之前包含它。不过感谢您的回复。
【解决方案2】:

您需要将内部或外部" 更改为'

像这样

jQuery(function($) {                       //V here       V
    $(".entry-contentH2").before("<div class='video_player'>hi</div>");
});

差不多

jQuery(function($) {           //V here                    and here V 
    $(".entry-contentH2").before('<div class="video_player">hi</div>');
})

jsfiddle

【讨论】:

  • 不是我,有人对这篇文章投了反对票。
猜你喜欢
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多