私は特定のdiv
を表示しようとしています。私がこれを行うことを決めたのは、まず "page"で始まるすべての要素を隠してから、正しいdiv
だけを表示することです。私はconsole.log(items);
私は空白の配列を取得する場合クラス名で始まるすべての項目を取得
<form>
<input type="text" onfocus="showfields(1);">
<input type="text" onfocus="showfields(2);">
</form>
<div class="page1 row">Some content</div>
<div class="page1 row">Some content</div>
<div class="page2 row">Some content</div>
<div class="page2 row">Some content</div>
<script>
function showfields(page){
//hide all items that have a class starting with page*
var patt1 = /^page/;
var items = document.getElementsByClassName(patt1);
console.log(items);
for(var i = 0; i < items.length; i++){
items[i].style.display = "none";
}
//now show all items that have class 'page'+page
var item = document.getElementsByClassName('page' + page);
item.style.display = '';
}
</script>
:ここに私の(簡体字)のコードです。正規表現が正しいと確信しています(「page」で始まるすべての項目を取得してください)。 私が使用しているコードは古いJSですが、jQueryを使用することに悪影響はありません。また、regexpを使用しないソリューションがある場合は、regexpを使用するのが初めてであるため、これも問題ありません。あなたは、一致している:
質問にはすでにループが使用されています。どのようにノードリストを使用するかということではなく、正しい要素セットを選択する方法を尋ねています。 – Quentin
@Quentinはコードスニペットの周りに私の頭を包んでいた。遅れて申し訳ありません –