Holen Sie sich alle Elemente, die mit beginnen Klassennamen
Ich versuche nur bestimmte div
s. Die Art und Weise habe ich beschlossen, dies zu tun ist, um erste verstecken alle Elemente, die beginnen mit "Seite" und dann zeigen Sie nur die richtige div
s. Hier meine (vereinfachte) code:
<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>
Wenn ich console.log(items);
bekomme ich ein leeres array. Ich bin mir ziemlich sicher, dass die regexp ist Recht (bekommen alle Artikel beginnend mit 'Seite').
Der code, den ich verwende, ist old-school-JS, aber ich bin nicht abgeneigt, um die Verwendung von jQuery. Auch wenn es eine Lösung gibt, der nicht mit regexp, das ist auch in Ordnung, wie ich bin neu mit regexp ' s.
InformationsquelleAutor Dairy Window | 2016-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die jQuery-Lösung..
Diese erhalten alle divs, die beginnen mit classname
page
es ist eine einfache Lösung, die bekommt alle divs, deren Klasse beginnt mit
page
.. das ist genau das, was der Benutzer will. Ich dachte es ist unnötig zu erklären, das implizite Dinge..Es bekommt alle divs, die ein class-Attribut beginnt mit Seite, dass ist nicht das gleiche wie eine Klasse, die beginnt mit der Seite, da das class-Attribut nimmt eine durch Leerzeichen getrennte Liste von Klassen.
Ich Stimme zu.. Aber ich denke, einfache und optimierte Lösung für ein einfaches Szenario ist besser als kompliziert und perfekte Lösung.
Möglicherweise (auch wenn das hinzufügen der Semantik basierend auf der position einer Klasse ist ein guter Weg für die zukünftige Entwicklung in einem Jahre Zeit zu brechen alte JS) aber es ist wichtig, zumindest dokumentieren die Einschränkungen richtig.
InformationsquelleAutor karthik manchala
Verwenden Sie dies, um zu zeigen ausblenden von DIVS mit bestimmten css-Klasse wird es zeigen/verstecken alle div ' s mit css-Klasse zu erwähnen.
InformationsquelleAutor Fasir Shabbir