通过jquery each()函数替换javascript,不起作用

问题描述 投票:0回答:1

我想将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>
javascript jquery each
1个回答
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>
© www.soinside.com 2019 - 2024. All rights reserved.