0

わかりました、これはクレイジーです。

jQuery 1.8.3 を使用して、次の要素を div でラップします。

<div id="main" role="main">
 <h2>Item (250 x 250)</h2>
 <div id="item" style="width:250px; height:250px;background:#ccc;">&nbsp;</div>
</div>

別の単純な div でラップしようとすると、Chrome で「RangeError: 最大コール スタック サイズを超えました」というメッセージが表示されます。

$("#item").wrap("<div />");

また、コンソールで $("#item") をフェッチすると、1 つのアイテムしか返されません。

4

2 に答える 2

1

jQueryにはすでに呼び出された関数があり、独自のプラグインsliceで上書きしています。動作は予想とは異なり、再帰が多すぎる可能性があります。

于 2012-12-31T17:43:14.793 に答える
0

RangeError: 最大コール スタック サイズを超えました:コードに無限ループがありますか? もっとコードを投稿できますか?

ID で DOM 要素を選択した場合、返される要素は 1 つだけです。

ID は一意です。同じ id を持つ 2 つの要素がある場合、jQuery は 2 つの要素を返しますが、すべてのブラウザーではそうではありません。IE では、両方の要素の最初のものを取得します。

独自のクラス '.item' を定義し、class="item" を設定します。その後、複数の要素を正しく選択できます。

var countOfElements = $('.selector').length;

選択した要素の数を取得できます。

于 2012-12-31T17:31:15.900 に答える