私は、RSSフィードを利用してビルドしているインタラクティブマップを持っています。マップ自体はSVGで作成され、各チェックポイントはcircle
のクラスを持ち、circle+k
(circle1、circle2、circle3など)に増分されます。私のRSSフィードにその色を埋めるために、filled
のクラスをどのように多くの前述の円のを取得するかを決定します変数を、特にjQueryのインクリメントされたdivに保存しますか?
私はそれぞれのdivをインクリメントする各機能2を実行している私はこのように、プログラム的に上記をやってる:。
//increments circle class on the map's dots
$("#map .circle").each(function(k) {
$(this).addClass("circle" + (k + 1));
});
//increments step class on the rss-fed items
$(".gs-rss-feed .hs-rss-item").each(function(i) {
$(this).addClass("step" + (i + 1));
//if circle class + number = step class + number, add class filled to circle
$("#map .circle").eq(i).addClass("filled");
});
しかし、今、私は、各RSSポスト(title
とurl
)から特定の情報にアクセスし、2には余分なことを行う必要があるでしょう。これらは、両方のクラスで行われているので、私はそうのように自分の情報を得ることができる必要があります:
//Get link from html
var link = $('.hs-rss-title').attr('href').split('=');
//Get title
var title = $('.hs-rss-title span').html();
その後、私は.wrap();
私の問題を使用して、私の地図上の円のそれぞれをラップする必要があります。私が問題を抱えているところでは、どうすればこれらの変数(title
とurl
)のそれぞれを特定のドットにスコープできますか? varsを保存する上記の方法を使用すると、$("#map .circle").eq(i).wrap("<a href="+link+"></a>");
を使用しようとします。最初の例を追加するだけです。すなわち、マップ上の各ドットに最初のRSSアイテムのURLを追加します。
これは私がこれをスコープできる良い方法ですか?ここに私ですcodepen、どんな助けもありがとう!
要素でカスタムデータ属性を使用し、後でそれをプルできます。 data-title = "Something" data-href = "http://www.google.com" –
これは技術的にRSSフィードになるので、html構造を編集することはできません。 –