0

私はこのようなhtmlを持っています」

<div id="words" style="opacity: 1; visibility:hidden;">
    <div id="row1" style="top: 1px;">
        <span wordnr="0" class="highlight">took</span>
    </div>
</div>

テイクを取得したい ので、これに子jqueryをどのように使用できますか?

私が試してみました:

<script>
   var a=$("#words").children('#row1').children('.highlight');
   alert( a );
</script>
4

5 に答える 5

1

有効な html ID は一意であるため、row1 のみを使用できます。もう 1 つ、コードをdocument.readyに配置して、 への可用性を確保しますjavascript/jquery

ライブデモ

$(document).ready(function(){
  $('#row1').children('.highlight').each(function(){
      alert($(this).text()); 
  });
});

セレクターで要素を 1 つだけ取得する場合は、それぞれ必要ありません。

 var forTook = $('#row1').children('.highlight').text();

また

var forTook = $('#row1 .highlight').text();
于 2013-01-28T10:47:22.623 に答える
0

詳しく説明します。あなたの例のようにjqueryオブジェクトに警告することはできません:

var a = $("#words").children('#row1').children('.highlight');

この場合、a配列のような構造を持つ jQuery オブジェクトになります。

上記を念頭に置いて(適切な要素を選択したと仮定して)、@Adilの例のように反復できます:

$.each(a, function(i, el){
    alert($(el).text());
});
于 2013-01-28T10:51:00.837 に答える
0

.find()これを試してください:.children()

$("#words").children().find('.highlight').text();
于 2013-01-28T10:51:24.363 に答える
0

.highlightHTML に複数の要素がある場合は、それらを反復処理する必要があります。

$('#row1 .highlight').map(function() {
    return $(this).text();
}).get();

これにより、強調表示されたすべての単語を含む配列が返されます。

于 2013-01-28T10:51:34.407 に答える
0

あなたはほとんどそこにいました:

<script>
   var a = $('#words').children('#row1').children('.highlight').text();
   alert( a );
</script>

アディルが言ったように、複数の要素がある場合は、一致する要素をループする必要があります。

于 2013-01-28T10:53:03.720 に答える