1

これは単純なはずですが、私はJquery Selectorのヘルプを約1時間使用していて、何も機能していないようです。ヘルプ!

基本的に、ユーザーがSPANの横にあるリンクをクリックした後、SPANのテキスト(アドレス)をプルしようとしています。ただし、1ページに10個程度あるので、静的アドレスを設定できませんのでご注意ください。ユーザーがクリックしたときにプルする必要があります。

htmlコード:

<a href="3" class="clicky">Click to Show Map</a> 
<span style="display: none" class="theaddy">123 Fake Street, Somewhere Else, 12341</span>

.theaddyだから本当に、私の質問は、ユーザーがクリックしたときにテキストを取得するにはどうすればよい.clickyですか?

私が言ったように、私は使用できません

 var propertyaddy = $(.theaddy).text(); 

同じページにこれらのアディが10個あるからです。ある種の「これ」が必要です>次へちょっとしたこと。

また、スパンをA内に配置するというアイデアを投げかけましたが、それに対する私の努力もうまくいきませんでした。

よろしくお願いします!

4

2 に答える 2

3

を使用.next()して、任意の要素の次の兄弟を見つけることができます。

$('.clicky').on('click', function() {
    var text = $(this).next().text();
    ...
});

必要な.theaddy要素が常に「次の」要素である限り、.next()呼び出し内で特定のクラス セレクターを指定する必要はありません。

間に他の要素がある可能性がある場合は、 を使用できます.nextAll('.theaddy').first()。これにより、後続のすべての要素のリストが生成され.theAddy、最初のそのような要素が取得されます。

于 2012-12-16T18:26:26.323 に答える
2

使用することをお勧めしnext()ます:

text = $(this).next('.theaddy').text();

上記のコードでは、次の要素が の場合にのみ取得するセレクターを使用しました。そのセレクターがないと、マークアップ内の要素に続く任意class='theaddy'の要素のテキストを取得するだけです。.clicky

ちなみに、DOM をトラバースするメソッドを探している場合は、セレクターではなくトラバース メソッドを調べる必要があります。

参考文献:

于 2012-12-16T18:26:35.747 に答える