前提・実現したいこと
JavaScriptを使用し、HTMLで記述している下記のテーブルで
順不同で特定の文字を全て含む行を取得するのが目的です。
各tdにはクラスを設定してあります。
特定文字列:"あ","い","う"(配列)
列1 | 列2 | 列3 |
---|---|---|
あ | い | う |
あ | い | え |
あ | い | う |
あ | う | お |
試したこと
indexOf()メソッドやfilter()メソッドを使用して取得を試みましたが結果うまくいきませんでした。
下記は最終的な現在のコードです。
JavaScript
1 for(let i=0;i<array.length;i++){ 2 tagName = array[i].getElementsByTagName('span'); 3 for(let a=0;a<tagName.length;a++){ 4 tagClass[a] = tagName[a].className; 5 } 6 let str_display = tagClass.filter((val) => { 7 for(var tagClass in this){ 8 if(tagClass === val) 9 return array; 10 } 11 },array); 12 }
どのような記述をすると該当の文字列がすべて含まれる列を取得できるのでしょうか?
###追記事項
HTML
1<thead> 2<tr class="headers"> 3<th class="colset colset-1">列1</th> 4<th class="colset colset-2">列2</th> 5<th class="colset colset-3">列3</th> 6</tr> 7</thead> 8<tbody> 9<tr class="rowset odd rowset-1"> 10<td class="colset colset-1"><span class="a">あ</span></td> 11<td class="colset colset-2"><span class="i">い</span></td> 12<td class="colset colset-3"><span class="u">う</span></td> 13</tr> 14<tr class="rowset odd rowset-1"> 15<td class="colset colset-1"><span class="a">あ</span></td> 16<td class="colset colset-2"><span class="i">い</span></td> 17<td class="colset colset-3"><span class="e">え</span></td> 18</tr> 19<tr class="rowset odd rowset-1"> 20<td class="colset colset-1"><span class="a">あ</span></td> 21<td class="colset colset-2"><span class="i">い</span></td> 22<td class="colset colset-3"><span class="u">う</span></td> 23</tr> 24<tr class="rowset odd rowset-1"> 25<td class="colset colset-1"><span class="a">あ</span></td> 26<td class="colset colset-2"><span class="u">い</span></td> 27<td class="colset colset-3"><span class="o">お</span></td> 28</tr> 29</tbody>
JavaScript
1 document.querySelectorAll(str).forEach(e => { 2 array.push(e.parentElement.parentElement); 3 });
strには特定文字列を格納させてあります。
回答2件
あなたの回答
tips
プレビュー