【问题标题】:replace javascript by jquery each() function not working用 jquery each() 函数替换 javascript 不起作用
【发布时间】:2020-09-05 19:55:47
【问题描述】:

我想将 javascript 替换为 jquery 以使 each() 成为显示单个嵌入推文的函数。

工作版本:https://jsfiddle.net/3u5r8e27/

var tweet = document.getElementById("tweet1");
var id = tweet.getAttribute("tweetID");
twttr.widgets.createTweet(id, tweet, {});

tweet = document.getElementById("tweet2");
id = tweet.getAttribute("tweetID2");
twttr.widgets.createTweet(id, tweet, {});
<script sync src="https://platform.twitter.com/widgets.js"></script>

<div class='tweet' id="tweet1" tweetID="1262730246668922885"></div>
<div class='tweet' id="tweet2" tweetID2="1260658846143401984"></div>

我正在尝试这个,但不起作用。做错了什么?

var tweet = 1;
var id = 1;
$(".tweet").each(function() {
  tweet = $(this).attr("id");
  id = $(this).attr("tweetid");
  twttr.widgets.createTweet(id, tweet, {});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script sync src="https://platform.twitter.com/widgets.js"></script>

<div class='tweet' id="tweet1" tweetID="1262730246668922885"></div>
<div class='tweet' id="tweet2" tweetID2="1260658846143401984"></div>

【问题讨论】:

  • 为什么你的第二条推文有tweetID2?为什么是#?
  • @taplar 在小提琴链接中,每条推文都会显示,只有当我从唯一的 id 调用它时......现在我只想按类调用它们。
  • 这不能回答我的问题。为什么第二条推文需要一个唯一的 tweetID 属性名称?
  • 在javascript版本中,需要通过id调用div,否则不起作用。在 jquery 版本中,按类调用每个 div,没有任何作用
  • 我不是在谈论身份证。我说的是tweetIDtweetID2 的属性名称。它们是不同的,我在问你为什么需要它。

标签: javascript jquery each


【解决方案1】:

在您的原始代码中,tweet1 是一个 DOM 元素。在您的 jQuery 代码中,它是一个 ID。您需要获取元素。

并更改 DIV 以使用相同的属性 tweetID,而不是 tweetIDtweetID2

$(".tweet").each(function() {
  var tweet = this;
  var id = $(this).attr("tweetID");
  twttr.widgets.createTweet(id, tweet, {});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script sync src="https://platform.twitter.com/widgets.js"></script>

<div class='tweet' id="tweet1" tweetID="1262730246668922885"></div>
<div class='tweet' id="tweet2" tweetID="1260658846143401984"></div>

【讨论】:

  • 谢谢你的解释,但它确实奏效了,或者我又做错了什么? jsfiddle.net/hymck5f9
  • 小提琴不导入 jquery。嘿,它在这里工作而不是在小提琴中工作的事实,应该自己回答你“或者我做错了什么”的问题
  • 大声笑,我认为我的问题哈哈。谢谢你的回答。这是非常有价值的!
猜你喜欢
  • 2015-04-08
  • 2014-06-26
  • 2012-12-10
  • 2019-03-25
  • 2014-04-17
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多