Come aggiungere una classe per div
?Come aggiungere una classe all'elemento DOM in JavaScript?
var new_row = document.createElement('div');
Come aggiungere una classe per div
?Come aggiungere una classe all'elemento DOM in JavaScript?
var new_row = document.createElement('div');
new_row.className = "aClassName";
Heres più informazioni MDN: className
Psst, vuoi dire 'new_row'. – Zarel
come impostare più nomi di classe? –
@Sponge 'new_row.className =" aClassName1 aClassName2 ";' è solo un attributo, puoi assegnare qualsiasi stringa che ti piace, anche se rende invalido il codice html –
Qui sta lavorando il codice sorgente utilizzando la funzione approccio.
<html>
<head>
<style>
.news{padding:10px; margin-top:2px;background-color:red;color:#fff;}
</style>
</head>
<body>
<div id="dd"></div>
<script>
(function(){
var countup = this;
var newNode = document.createElement('div');
newNode.className = 'textNode news content';
newNode.innerHTML = 'this created div contains class while created!!!';
document.getElementById('dd').appendChild(newNode);
})();
</script>
</body>
</html>
Quindi? Serve come esempio, non c'è niente di sbagliato in questo. – Carey
Per cambiare attributo class
per l'elemento HTML, utilizzare element.className
:
const element = document.createElement('div');
element.className = 'foo';
svantaggio di questa soluzione è che ignora completamente l'attributo class
. Ovviamente è possibile aggiungere class
usando l'operatore +=
(element.className += " bar"
), ma se questo elemento ha già questa classe, sarebbe inutilmente raddoppiato. Se vuoi aggiungere class
all'elemento che ha già alcune classi, ad es. <div class="foo"></div>
, IMHO la soluzione migliore sarebbe utilizzare element.classList
. Ha add()
metodo che permette di aggiungere una classe per elemento:
const element = document.querySelector('div.foo');
element.classList.add('bar');
È inoltre possibile attivare o disattivare o rimuovere classi utilizzando element.classList
. Sfortunatamente, non è supportato da IE < = 9 e supportato solo parzialmente da IE 10 e 11. Vedere support table on caniuse.com. Tuttavia, v'è un shim che lavora per IE> = 8.
Vale anche la pena dare un'occhiata a
var el = document.getElementById('hello');
if(el) {
el.className += el.className ? ' someClass' : 'someClass';
}
C'è anche il modo DOM di fare questo in JavaScript:
// Create a div and set class
var new_row = document.createElement("div");
new_row.setAttribute("class", "aClassName");
// Add some text
new_row.appendChild(document.createTextNode("Some text"));
// Add it to the document body
document.body.appendChild(new_row);
Anche questo funzionerà.
$(document.createElement('div')).addClass("form-group")
Solo se si utilizza jQuery. –
var newItem = document.createElement('div');
newItem.style = ('background-color:red');
newItem.className = ('new_class');
newItem.innerHTML = ('<img src="./profitly_files/TimCover1_bigger.jpg" width=50 height=50> some long text with ticker $DDSSD');
var list = document.getElementById('x-auto-1');
list.insertBefore(newItem, list.childNodes[0]);
Considera di spiegare perché l'hai pubblicato, aiuterà gli altri a imparare. –
Solo un esempio di codice funzionante –
Peccato che le specifiche non consente le classi da specificare come parametro per createElement. –