1

こんにちは私は内部に他のdivを保持する隠されたdivを持っています

<div style="display:none">
    <div id="o-1">...<div>
    <div>...<div>
    <div>...<div>
    <div id="o-2">...<div>
    <div>...<div>
    <div>...<div>
    <div id="o-3">...<div>
    <div>...<div>
    <div>...<div>
   </div>

idがoで始まるdivid= "o-3"のprevAllを取得しようとしています-上記の例では、o-3のprevAllはo-2とo-1です

問題は、ラッパーdivが非表示になっているため、preAllを取得できることです。

任意の提案を歓迎します

4

3 に答える 3

3

問題は、親が非表示に設定されていることではなく、要素はまだDOMにあります。

代わりに、1つの問題は、HTMLが少し混乱していることです。<div>要素を適切に閉じていません。

あなたのコードから:

<div>...<div>

する必要があります:

<div>...</div>

次に、これを使用して、次で始まるIDを持つ以前の兄弟を取得できますo-

$("#o-3").prevAll("[id^='o-']")

実例

于 2013-02-16T10:19:33.387 に答える
2

非表示の要素を選択するのに問題はないようです。

http://jsfiddle.net/U2YPB/2/

$.each($("#ho3").prevAll(),function(idx,div) {
    log($(div).attr("id"));
});
于 2013-02-16T10:13:15.120 に答える
1

これで試してください

$('div:third').prevAll(':hidden');

または直接ユーザーにすることができます

$("#o-3").prevAll("div[id^='o-']");
于 2013-02-16T10:09:58.793 に答える