Reputation: 49
I want to replace javascript to jquery to make each()
to this function that show a single embedder tweet.
working version: 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>
Im trying this, but doesnt work. What am doing wrong?
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>
Upvotes: 0
Views: 112
Reputation: 781004
In your original code, tweet1
is a DOM element. In your jQuery code it's an ID. You need to get the element.
And change the DIVs to use the same attribute tweetID
, not tweetID
and tweetID2
.
$(".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>
Upvotes: 1