Я пытаюсь исправить обычные ошибки IE в CSS 2.1, и мне нужен способ изменить свойства стиля элементов, чтобы добавить собственный стиль выравнивания текста.
В настоящее время в jQuery вы можете сделать что-то вроде
$(this).width() or $(this).height()
но я не могу найти хороший способ изменить выравнивание текста с помощью того же подхода.
У элемента уже есть класс, и я безуспешно установил выравнивание текста в этом классе. Можно ли просто добавить к этому элементу атрибут CSS с выравниванием текста после определения класса?
У меня есть что-то вроде этого
$(this).css("text-align", "center");
сразу после настройки ширины и после просмотра этого в firebug я вижу, что только «ширина» - единственное свойство, установленное для стиля. Любая помощь?
РЕДАКТИРОВАТЬ:
Ого - большой ответ на этот вопрос! Немного подробнее о проблеме:
Я настраиваю исходный код js для jqGrid A3.5, чтобы выполнить некоторую настраиваемую работу с подсеткой, и фактический JS, который я настраиваю, показан ниже (извините за использование «this» в моих примерах выше, но я хотел, чтобы это было просто для краткость)
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);
}
Я пробовал оба из приведенных ниже (из предоставленных ответов) безуспешно.
$(tddiv).width(ts.p.subGridModel[0].width[i]).attr('style', 'text-align: center');
И
$(tddiv).width(ts.p.subGridModel[0].width[i]).css('text-align', 'center');
Я продолжу работу над этой проблемой сегодня и опубликую окончательное решение для всех, кто испытывает мою боль по этой странной проблеме.