Sto cercando di correggere i soliti bug di IE attorno a CSS 2.1 e ho bisogno di un modo per modificare le proprietà di uno stile di elementi per aggiungere uno stile di allineamento del testo personalizzato.Come aggiungere dinamicamente uno stile per allineare il testo usando jQuery
Attualmente in jQuery si può fare qualcosa di simile
$(this).width(or $(this).height(
, ma io non riesco a trovare un buon modo per alterare il text-align con questo stesso approccio.
L'articolo ha già una classe e io ho impostato l'allineamento del testo in quella classe senza fortuna. È possibile aggiungere un attributo css allineato al testo a questo elemento dopo che è stata definita una classe?
Ho qualcosa di simile
$(this).css("text-align", "center");
solo dopo la mia regolazione della larghezza e dopo ho vista questo Firebug vedo solo "larghezza" è l'unica proprietà impostata sullo stile. Qualche aiuto?
EDIT:
Whoa - grande risposta su questa domanda! Grazie a tutti quelli che hanno risposto! Un po 'più di dettagli sul problema in questione:
Sto modificando la sorgente js per jqGrid A3.5 per eseguire alcuni lavori di sub grid personalizzati e il JS effettivo che sto apportando è mostrato di seguito (mi dispiace per l'utilizzo di "questo "nei miei esempi di cui sopra, ma ho voluto mantenere questo semplice per brevità)
var subGridJson = function(sjxml, sbid) {
var tbl, trdiv, tddiv, result = "", i, cur, sgmap,
dummy = document.createElement("table");
tbl = document.createElement("tbody");
$(dummy).attr({ cellSpacing: "0", cellPadding: "0", border: "0" });
trdiv = document.createElement("tr");
for (i = 0; i < ts.p.subGridModel[0].name.length; i++) {
tddiv = document.createElement("th");
tddiv.className = "ui-state-default ui-th-column";
$(tddiv).html(ts.p.subGridModel[0].name[i]);
$(tddiv).width(ts.p.subGridModel[0].width[i]);
trdiv.appendChild(tddiv);
}
tbl.appendChild(trdiv);
ho provato sia del sottostante (dalle risposte fornite) senza fortuna.
$(tddiv).width(ts.p.subGridModel[0].width[i]).attr('style', 'text-align: center');
E
$(tddiv).width(ts.p.subGridModel[0].width[i]).css('text-align', 'center');
Io continuerò a lavorare su questo tema oggi e inviare una soluzione definitiva per tutti coloro che sentendo il mio dolore intorno a questo strano problema.
Dovrebbe funzionare, ma sembra sicuro quando usato in combinazione con la larghezza() essendo impostato in precedenza. La risposta è usare il concatenamento jquery. – Steerpike