2017-06-15 8 views
0

<select>とは異なるidという属性があります。各<select>の下には、タグがあり、適切なidまたはclassはありません。 id<a>タグに追加することはできません。これは、jQueryのlibによって生成されるためです。前のタグから次へ進む

例:

<select class="foo" id="foo"> 
.. 
</select> 
<a class="same" href="#">link</a> 
<select class="bar" id="bar"> 
.. 
</select> 
<a class="same" href="#">link</a> 

特定<select>タグの下に最初の<a>のタグを取得する方法はありますか?

答えて

2

アンカータグは、次の兄弟すぐにあることを行っている場合、あなたは.next()セレクター使用することができます。

$('#foo').next(); 

をそうしないと、.first().nextAll()を使用する必要があります。

$('#foo').nextAll('a').first(); 
-1

は見つけるのjQueryを使用してみてください。

$("select").find("a"); 
+1

'.find()'検索要素のすべての子孫とにアンカーコードは兄弟であり、子孫ではありません。 – j08691

0

こんにちは!

バニラJS溶液:

一セレクタ:

document.querySelector('select').nextElementSibling; 

例:

document.querySelector('select').nextElementSibling.style.color = 'red';
<select class="foo" id="foo"> 
 
    </select> 
 
<a class="same" href="#">link</a> 
 
<select class="bar" id="bar"> 
 
    </select> 
 
<a class="same" href="#">link</a>


マルチセレクター:

document.querySelectorAll('select'); 

例:

var arr = document.querySelectorAll('select'); 
 

 
for (var i = 0, length1 = arr.length; i < length1; i++) { 
 
    arr[i].nextElementSibling.style.color = 'red'; 
 
}
<select class="foo" id="foo"> 
 
    </select> 
 
<a class="same" href="#">link</a> 
 
<select class="bar" id="bar"> 
 
    </select> 
 
<a class="same" href="#">link</a>

関連する問題