2016-09-07 3 views
-4

Wie konvertiert man all das, dass alle Divs Klasse statt ID haben? Ich bin neu in dieser Welt und für jetzt kopieren Sie einfach Einfügen von Code und das Lernen ...Konvertieren von ID zu Klasse in Javascript

<div id="LEGEND">abB</div> 

<div id="small-a" style="display: none;">This is small-a</div> 
<div id="small-b" style="display: none;">This is small-b</div> 
<div id="big-a" style="display: none;">This is big-a</div> 
<div id="big-b" style="display: none;">This is big-b</div> 

<script> 
function showElement(id) { 
    document.getElementById(id).style.display = "block"; 
} 

window.onload = function ShowHide() { 
    var legend = document.getElementById("LEGEND").innerHTML; 

    if(legend.indexOf("a") != -1) showElement("small-a"); 
    if(legend.indexOf("b") != -1) showElement("small-b"); 
    if(legend.indexOf("A") != -1) showElement("big-a"); 
    if(legend.indexOf("B") != -1) showElement("big-b"); 
} 
</script> 
+0

warum möchten Sie es konvertieren? – Amy

+3

Öffnen Sie die Datei im Editor. Drücken Sie Strg + H. Geben Sie 'id =" 'in das Feld Suchen ein. Geben Sie' class = "' in Ersetzen durch Textfeld ein. Klicken Sie auf Alle ersetzen. Schließen Sie das Dialogfeld, und speichern Sie die Datei. –

+0

Setzen Sie '.textContent' vor' .indexOf'. Du hast keine Elemente mit Klassen, und dein erster Satz ist unklar, also bin ich mir nicht sicher, was du brauchst. –

Antwort

0

Ich weiß nicht, warum Sie versuchen, dies programmatisch zu tun, aber trotzdem:

const elements = document.querySelectorAll('div'); 
 

 
[...elements].forEach(el => { 
 
    if (el.id) { 
 
    el.classList.add(el.id); 
 
    el.removeAttribute('id'); 
 
    } 
 
});
.foo { 
 
    background: tomato; 
 
} 
 

 
.bar { 
 
    background: gold; 
 
} 
 

 
.baz { 
 
    background: indianred; 
 
}
<div id="foo">Foo</div> 
 
<div id="bar">Bar</div> 
 
<div id="baz">Baz</div>

+0

möchte wissen, wie anstelle von Funktion showElement (id) das gleiche machen, aber für die Klasse –