2017-06-29 5 views
0

私は、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ポスト(titleurl)から特定の情報にアクセスし、2には余分なことを行う必要があるでしょう。これらは、両方のクラスで行われているので、私はそうのように自分の情報を得ることができる必要があります:

//Get link from html 
var link = $('.hs-rss-title').attr('href').split('='); 
//Get title 
var title = $('.hs-rss-title span').html(); 

その後、私は.wrap();


私の問題を使用して、私の地図上の円のそれぞれをラップする必要があります。私が問題を抱えているところでは、どうすればこれらの変数(titleurl)のそれぞれを特定のドットにスコープできますか? varsを保存する上記の方法を使用すると、$("#map .circle").eq(i).wrap("<a href="+link+"></a>");を使用しようとします。最初の例を追加するだけです。すなわち、マップ上の各ドットに最初のRSSアイテムのURLを追加します。

これは私がこれをスコープできる良い方法ですか?ここに私ですcodepen、どんな助けもありがとう!

+0

要素でカスタムデータ属性を使用し、後でそれをプルできます。 data-title = "Something" data-href = "http://www.google.com" –

+0

これは技術的にRSSフィードになるので、html構造を編集することはできません。 –

答えて

1

は、あなただけのそれぞれの、第2の内部でこれを行うことはできません..私はまだコメントを行うのに十分な評判を持っていないので、私は答えとしてこれを投稿する必要がありますか?

//increments step class on the rss-feed items 
$(".gs-rss-feed .hs-rss-item").each(function(i) { 
    var $rss-item = $(this); 
    $rss-item.addClass("step" + (i + 1)); 
    //if circle class + number = step class + number, add class filled to circle 
    var $circle = $("#map .circle").eq(i); 
    $circle.addClass("filled"); 

    //Get link from html 
    var link = $rss-item.find('.hs-rss-title').attr('href').split('='); 
    //Get title 
    var title = $rss-item.find('.hs-rss-title span').html(); 

    // here you can wrap $circle and do whatever you want with this link and title 
}); 

あなたの問題に実際には関係しませんが、なぜあなたはhrefを=に分割していますか?いくつかのスラッシュがないことを除けば、私は与えられたhref属性に何も表示されません。

+0

これは完璧です、私は '.find()'を使っていませんでした。これらのURLは現在のダミーリンクですが、私たちのRSSから来たときは '='に分割する必要があります。これは素晴らしいですが!クイックヘルプをありがとう! –

関連する問題