2017-02-16 5 views
0

私は、クラス名が.label-telのページ上のすべてのdivを繰り返し処理しています。私がそれらをループしている間、次の兄弟をどうやってつかまえますか? CSSでは、私はただ.label-tel + .telを使用します。しかし、div.label-telが現在オブジェクトになっているので、私はそれを達成する方法がわかりません。JavaScriptでオブジェクトとして設定したdivの兄弟を取得するにはどうすればよいですか?

これは私が試したものですが、うまくいかなかったのです。

document.querySelector(phone + " + .tel"); 

ここに私のフルコードです。

はJavaScript

let phoneList = row.querySelectorAll("div.label-tel"); 
for (let phone of phoneList) { 
    document.querySelector(phone + " + .tel"); 
} 

HTML

<div class="label label-tel">Work phone:</div> 
<div class="tel">352.342.1460</div> 

<div class="label label-tel">Mobile phone:</div> 
<div class="tel">352.942.1990</div> 
+0

? – Julsy

+0

@XufoxそのquerySelectorは 'javaScript object + string'になりませんか? 'phone'が既に兄弟姉妹を探しているオブジェクトであれば' phone.nextElementSibling'だけではないのですか? – Santi

+2

phone.nextElementSibling – juvian

答えて

3

あなたはここで以前にコメントしたnextElementSiblingを使用する1つの方法だel.nextElementSibling

+0

パーフェクト!これはうまくいった。 – jkupczak

+0

いつも助けてうれしい –

+1

答えを受け入れることを忘れないでください。 –

1

を使用することができます。あなたは '(PhoneListとしてで電話をしましょう)' '(PhoneListとしての電話をしましょう)は' の代わりに使用するのはなぜ

var row = document.getElementById('row'); 
 
const phoneList = row.querySelectorAll("div.label-tel"); 
 
const res = document.getElementById('results'); 
 

 
for (let phone of phoneList) { 
 
    var num = phone.nextElementSibling.textContent; 
 
    res.innerHTML += '<p>' + num + '</p>'; 
 
}
<section id='row'> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
    <div class="label label-tel">Work phone:</div> 
 
    <div class="tel">352.342.1460</div> 
 
</section> 
 
<hr> 
 
<div id='results'></div>

関連する問題