【问题标题】:jQuery: Copying an Embedded Tweet's HTMLjQuery:复制嵌入式推文的 HTML
【发布时间】:2013-01-28 11:15:30
【问题描述】:

假设我在 div 中嵌入了一条推文:

<div id="tweet">
    <blockquote class="twitter-tweet"><p>A lion would never cheat on his wife. But a Tiger Wood.</p>&mdash; Puns (@omgthatspunny) <a href="https://twitter.com/omgthatspunny/status/301482080490115072">February 13, 2013</a></blockquote>
    <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>

<div id="tweet-insert"></div>

我想复制推文并将其插入另一个 div:

var tweetHtml = $("#tweet").html();
$("#tweet-insert").html(tweetHtml);

这是一个fiddle

这不起作用,它让我:(

有什么解决办法吗?

【问题讨论】:

  • 如果我将你的小提琴切换到 jQuery 1.9 并运行,它对我有用。
  • 小提琴链接修改为在 jQuery 1.9 上,仍然对我不起作用(显示为空白)。我正在使用最新版本的 Chrome。你看到两条相同的嵌入推文?
  • 我想一个更好的例子是 -> FIDDLE

标签: jquery twitter embed tweets


【解决方案1】:

你可以像这样使用jQuery的.clone()

var tweetCopy = $("#tweet").clone();
$("#tweet-insert").append(tweetCopy);

jsFiddle:http://jsfiddle.net/jfriend00/9Segq/

【讨论】:

  • 谢谢,这似乎可行,但是尝试将复制的推文插入 div 呢? jsfiddle.net/9Segq/5
  • 你为什么坚持使用 HTML 而不是克隆实际的对象?某些 HTML 不能直接复制(冲突的 ID、事件处理程序等)。
  • @DougieBear - 如果你想要插入之前/之后的内容,你可以这样做:jsfiddle.net/jfriend00/sqX4D
  • 哈哈不想坚持什么,只是想把推文放在我用javascript创建的div中,然后将该div添加到页面:jsfiddle.net/9Segq/9
  • @DougieBear - 我在之前的评论中提供了一种更好的方法。
【解决方案2】:

脚本会异步加载,因此当您尝试复制内容时,它可能尚未加载。

当脚本的load-event 触发时复制内容:http://jsfiddle.net/doktormolle/MSfvT/

【讨论】:

  • 我想完全复制嵌入的推文,而不仅仅是文本。然而这很有趣,教会了我一些东西,所以你得到了我的支持:)
  • 它应该按需要出现,如果不是它可能是缓存问题,请尝试在脚本源中添加更改参数(例如时间戳)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-25
  • 2014-07-13
  • 2019-10-25
  • 2018-06-26
  • 1970-01-01
  • 2014-10-06
  • 1970-01-01
相关资源
最近更新 更多