1

私はjQuery 1.3.2を使用しています:

<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>

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

    <div id="container-div">
        <div id="package_1">
            <div>Package_1</div>
            <div id="package-content"></div>
        </div>
        <div id="package_2">
          <div>Package_2</div>
          <div id="package-content"></div>
        </div>
    </div>

jQueryセレクターですべての「package-content」要素を選択しようとしています。私は次のことができると思っていましたが、期待どおりに機能していません:

$('#package-content')

これはリストの最初の要素のみを返します-これは getElementById("package-content") から期待されるものですが、jQueryはすべての要素の配列を返すと思いました。div id の jQuery セレクターの理解に欠けているものは何ですか?

何が起こっているのかを把握するために次のテストを作成しましたが、最初の要素のみを選択していることを証明する以外に、理解には役立ちませんでした。

alert($('#container-div').find('#package-content').size()); // = 2
alert($('#package-content').size()); // = 1
alert($('#package-content').parent().attr('id')); // = package_1

$("#package-content").each(function() {
    alert('parent: ' + $(this).parent().attr('id') + ' child: ' + $(this).attr('id')); = parent: package_1 child: package-content
});
4

3 に答える 3

9

idは、特定の要素を識別するための一意の値であると想定されています。同じ div を 2 つ持つことはできません。代わりにクラスを使用してみることができます。$('.package-content')

于 2009-03-18T17:41:26.393 に答える
2

package-content をクラスにします。これらの div に ID を設定することはできますが、ID を一意にすることをお勧めします

<div id="container-div">
    <div id="package_1">
        <div>Package_1</div>
        <div id="pc1" class="package-content"></div>
    </div>
    <div id="package_2">
      <div>Package_2</div>
      <div id="pc2" class="package-content"></div>
    </div>
</div>

次に、クラス セレクターを使用します。

$(".package-content")
于 2009-03-18T17:43:45.530 に答える
0

id属性は一意であることを意図しています。class属性を に設定し、package-contentセレクターを.package-contentではなく に変更してみてください#package-content

于 2009-03-18T17:42:03.710 に答える