Я намагаюся виправити звичайні помилки IE навколо CSS 2.1 і мені потрібен спосіб змінити властивості стилю елементів, щоб додати власний стиль вирівнювання тексту.
Наразі в jQuery ви можете робити щось на зразок
$(this).width() or $(this).height()
але я не можу знайти хороший спосіб змінити вирівнювання тексту за допомогою того самого підходу.
Елемент уже має клас, і я встановив вирівнювання тексту в цьому класі без удачі. Чи можна просто додати CSS-атрибут CSS для вирівнювання за текстом після визначення класу?
У мене є щось подібне
$(this).css("text-align", "center");
відразу після мого налаштування ширини та після того, як я переглядаю це у firebug, я бачу, що лише "width" - це єдина властивість, встановлена у стилі. Будь-яка допомога?
РЕДАГУВАТИ:
Ого - велика відповідь на це питання! Трохи детальніше про проблему:
Я налаштовую джерело js для jqGrid A3.5, щоб виконати якусь користувацьку роботу під сіткою, і фактичний JS, який я налаштовую, показаний нижче (вибачте за використання "цього" у прикладах вище, але я хотів зробити це простим стислість)
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');
Я продовжуватиму працювати над цим питанням сьогодні і опублікую остаточне рішення для тих, хто відчуває мій біль навколо цієї дивної проблеми.