2

私は次のhtmlを持っています:

<div class="mainmenu">
    <ul class="blue">
                <li class=""><a href="tst/" id="a1_up"><span class="all">tst1</span></a></li>
              <li class=""><a href="tst1/" id="a2_up"><span class="all">tst2</span></a></li>
              <li class=""><a href="tst3/" id="a3_up"><span class="all">tst3</span></a></li>
              <li class=""><a href="tst4/" id="a4_up"><span class="all">tst3</span></a></li>
              <li class=""><a href="tst5/" id="a5_up"><span class="all">tst4</span></a></li>
              <li class=""><a href="tst6/" id="a6_up"><span class="all">tst5</span></a></li>
              <li class=""><a href="tst7/" id="a7_up"><span class="all">tst6</span></a></li>
          </ul>
  </div>

<span class="all">tst6</span>私はjsbinでこれを試したこの部分のすべてのスパン値を収集する必要があります:

$(document).ready(function() {
  $(".mainmenu ul li > span").each(function() {
    alert($(this).val());
    });
 });

しかし、何も起こりません。ここにアップロードされています:

http://jsbin.com/emulah

ライブ編集:

http://jsbin.com/emulah/edit#javascript,html,live

4

6 に答える 6

2

これを試してください:作業デモ http://jsfiddle.net/mHfUs/5/

$(document).ready(function() {
    $(".mainmenu > ul > li > span").each(function() {
        alert($(this).text());
    });
});​

ps jsfiddleはおかしな演技をしています、そうでなければデモの準備ができていました:)

a上記のデモでわかるように、liとの間です:<これは機能します>span

$(document).ready(function() {
    alert('f');
    $("div.mainmenu ul li a span").each(function() {
        alert($(this).text());
    });
});​
于 2012-07-02T10:46:36.947 に答える
2

あなたのセレクターは完全に間違っています:

">"は を意味direct childし、spanの直接の子ではありませlia

のように書き換えるか.mainmenu ul li span、次のようにさらに短いセレクターを使用することをお勧めします。

$('.mainmenu span.all')

また

$('.blue span')
于 2012-07-02T10:52:48.640 に答える
1

スパン要素に値()がありませんval()

text()代わりに取得してみてください:

alert($(this).text());
于 2012-07-02T10:46:15.727 に答える
0

1-span要素は要素の直接の子孫ではないliため、セレクター

(".mainmenu ul li > span")

どの要素とも一致しません。代わりに書く$(".mainmenu li span")

2-メソッドの代わりにval()メソッドを使用text()する

于 2012-07-02T10:55:19.297 に答える
0

.mapを使用して結果を取得できます。(スパンには値がありません.text()。innerHtml テキストを取得するために使用する必要があります)

var values = $(".mainmenu ul li > span").map(function() {
  return $(this).text();
});
于 2012-07-02T10:52:41.523 に答える
0

以下は、jqueryを使用して適切なセレクターを選択し、適切なプロパティを適用するソリューションです。

$(document).ready(function() {
var result = '';
$(".mainmenu ul li span.all").each(function() {
    result += '<div><a href="#">' + $(this).text() + '</a></div>';
});
$('#result').html(result);
$("#result").addClass("output")

});

http://codebins.com/codes/home/4ldqpcbのソリューションでビンを作成しました

于 2012-07-02T11:24:08.220 に答える