2017-05-12 12 views
0

これはかなり基本的な質問です(私は検索しましたが)ので、javascriptとWeb開発の初心者です。私は人の名前の行を含む多くの列を含むテーブルにアクセスする必要があります。各行では、人の名前を保持しているテキストのidは次の行でこの特定の文字列を含むIDを持つWebページ上の要素にアクセスする方法

<span class="PSLONGEDITBOX" id = "MTG_INSTR$2"> JOHN DOE </span> == $0 

のような設定であることは、それがどのすべての要素を反復処理するために、したがって、この

<span class="PSLONGEDITBOX" id = "MTG_INSTR$3"> BOB DAVID </span> == $0 

ようになるのですとにかく "MTG_INSTR"を含むすべてのidsを繰り返し処理することができますか?もしそうでなければ、どのようにそれにアプローチしますか?あなたも同じ結果選択を達成することができます覚えておいてください

var els = document.querySelectorAll('span[id^="MTG_INSTR"]'); 
 

 
console.log(els); 
 
els.forEach(x => console.log(x.innerText));
<span class="PSLONGEDITBOX" id = "MTG_INSTR$2"> JOHN DOE </span> 
 
<span class="PSLONGEDITBOX" id = "MTG_INSTR$3"> JOHN DOE </span> 
 
<span class="PSLONGEDITBOX" id = "NMTG_INSTR$2"> JOHN DOE </span>

また、それが最後に$ 0 ==何見当がつかない

+0

[idが共通の文字列で始まるすべての要素を検索](http://stackoverflow.com/questions/10111668/find-all-elements-whose-id-begins-with-aの可能性のある重複-common-string) – Liam

+0

より良いyest [名前またはIDの一部で要素を取得](http://stackoverflow.com/questions/15874630/js-get-element-by-part-of-name-or-id) – Liam

答えて

1

'span[id^="MTG_INSTR"]'セレクタでdocument.querySelectorAllを使用してみてくださいんクラス:

var els = document.getElementsByClassName("PSLONGEDITBOX"); 
 

 
console.log(els); 
 

 
var els = document.querySelectorAll(".PSLONGEDITBOX"); 
 

 
console.log(els);
<span class="PSLONGEDITBOX" id = "MTG_INSTR$2"> JOHN DOE </span> 
 
<span class="PSLONGEDITBOX" id = "MTG_INSTR$3"> JOHN DOE </span> 
 
<span class="PSLONGEDITBOX" id = "NMTG_INSTR$2"> JOHN DOE </span>

+0

うまくいかず、テキストが表の中の深いところにあるからだと思いますか? 私はまた、 'span [id = "MTG_INSTR $ 1"]'を使ってただ一つの人の名前を取得しようとしましたが、まだelsは空(長さ0)であるようです。 私は実際にドキュメントの価値が正しいと確信しています。コンソールで評価すると、ウェブページのDOMが表示されています(実際にその部分を動作させるために実際に費やされたものです)。 – Sentinel

関連する問題