Я пытаюсь исправить обычные ошибки IE в CSS 2.1 и вам нужен способ изменить свойства стиля элементов, чтобы добавить стиль выравнивания текста.
В настоящее время в jQuery вы можете сделать что-то вроде
$(this).width( or $(this).height(
но я не могу найти хороший способ изменить выравнивание текста с помощью этого же подхода.
Элемент уже имеет класс, и я не устанавливаю выравнивание текста в этом классе без везения. Можно ли просто добавить атрибут css text-align для этого элемента после определения класса?
У меня есть что-то вроде этого
$(this).css("text-align", "center");
сразу после моей настройки ширины и после того, как я просмотрю это в firebug, я вижу, что только "ширина" - это единственное свойство, установленное в стиле... любая помощь?
EDIT:
Whoa - большой ответ на этот вопрос! Спасибо всем, кто ответил! Немного больше о проблеме:
Я настраиваю 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');
Я продолжу работу над этим вопросом сегодня и опубликую окончательное решение для тех, кто чувствует мою боль вокруг этой странной проблемы.