14

このマッププラグインを使用して店舗の場所を表示する米国の地図を作成する際に、私はそれをほとんど釘付けにしましたが、1つの機能を実行するためのより良い方法が必要です。マップの下に店舗のリストがあり、同じ州にあるすべての店舗をグループ化し、州にカーソルを合わせるとサイドバーに店舗名を表示したいと思います。ホバーとデータの表示が機能していますが、改善したいと考えています。p.cn状態ごとに関数を記述して何を表示するかを明示的に指定するのではなく、同じクラスを持つ各divから最初の関数を取得したいと思います。

<div class="texas">
    <p class="cn">Store 1</p>
</div>

<div class="texas">
    <p class="cn">Store 2</p>
</div>

mouseoverState: {
    var texas = $('.texas > p.cn').text();
    $('#mysidebarID').html(texas);
}

これは、最初のストア「ストア1」のみを表示しています。p.cn各div.texasからすべてを取得して、各ストアの<br>後に表示することはできません。

同じクラスのすべての要素からhtmlを取得し、それを文字列に結合して、各ノードを?で区切るにはどうすればよい<br>ですか?

ありがとうございます-何か明確にする必要がある場合はお知らせください。

4

1 に答える 1

33

この方法を使用するにはeach()、次のことを試してください。

var str = "";

$('.texas > p.cn').each(function(){
  str += $(this).text() + "<br>";
})

$('#mysidebarID').html(str);
于 2012-08-20T01:30:32.603 に答える