2016-12-21 14 views
1

特定のdivの下に同じID接頭辞で始まるすべてのスクリプト要素を取得したいと思います。だから、例えば私は、ID#行-2とdivの下にあるすべてのスクリプト要素を取得したいjQuery特定のdivの下のすべての要素を取得

<div id="row-1"> 
    <script id="fix-1"></script> 
</div> 
<div id="row-2"> 
    <script id="fix-2"></script> 
</div> 
<div id="row-3"> 
    <script id="fix-3"></script> 
</div> 
<div id="row-4"> 
    <script id="fix-4"></script> 
</div> 

:私の好きなhtmlコードを持っているとしましょう。 fix-3とfix-4が返されます。

+1

を試してみましたか?そして、正確に何が_ "要素がdiv内で常に同じ位置にあるとは限りませんか?"そしてdivにdivタグで閉じられたスクリプト要素が含まれているのはなぜですか? – j08691

+2

あなたのHTMLは本当に壊れています.... – epascarello

答えて

5

nextAll()を使用して、要素の後にあるすべての兄弟を取得します。

var elems = $("#row-2").nextAll(); 
 
elems.css("background-color", "green");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="row-1"> 
 
    <div id="fix-1">X</div> 
 
</div> 
 
<div id="row-2"> 
 
    <div id="fix-2">X</div> 
 
</div> 
 
<div id="row-3"> 
 
    <div id="fix-3">X</div> 
 
</div> 
 
<div id="row-4"> 
 
    <div id="fix-4">X</div> 
 
</div>

だから要素は次のとそれを組み合わせると見つけたいです。

$("#row-2").nextAll().find("script") 
+0

これは完璧な答えです...しかし、どうすれば純粋なjavascriptでできますか – Geeky

+0

OPはjQueryを使っています... – epascarello

3

あなたに試してみてくださいすることができ:あなたは何を

$("#row-2 ~ div").find("script") 
+0

私はあなたの質問を取得しませんでした以前は正しい声明を書くことができませんでした。 これを確認する場合は今すぐ確認してください。 – Nitesh

+0

これも正しく動作します – tuna

+1

@ j08681理由を説明できますか?それは私に '$("#row-2 ")のような結果を与えます。nextAll()。find(" script ")' – tuna

関連する問題