Как динамически добавлять стиль для выравнивания текста с помощью jQuery

Я пытаюсь исправить обычные ошибки IE вокруг CSS 2.1 и вам нужен способ изменить свойства стиля элементов, чтобы добавить стиль выравнивания текста.

В настоящее время в jQuery вы можете сделать что-то вроде

$(this).width() or $(this).height() 

но я не могу найти хороший способ изменить выравнивание текста с помощью этого же подхода.

Элемент уже имеет class, и я установил выравнивание текста в этом classе без везения. Можно ли просто добавить атрибут CSS для выравнивания текста к этому элементу после определения classа?

У меня есть что-то вроде этого

 $(this).css("text-align", "center"); 

сразу после моей регулировки ширины и после того, как я рассматриваю это в firebug, я вижу, что только «ширина» – это единственное свойство, установленное в стиле. Любая помощь?

РЕДАКТИРОВАТЬ:

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'); 

Я продолжу работу над этим вопросом сегодня и опубликую окончательное решение для тех, кто чувствует мою боль в этой странной проблеме.

У вас есть правильная идея, как показывает документация:

http://docs.jquery.com/CSS/css#namevalue

Вы уверены, что правильно идентифицируете это с помощью classа или идентификатора?

Например, если ваш class – myElementClass

 $('.myElementClass').css('text-align','center'); 

Кроме того, я не работал с Firebug через некоторое время, но вы смотрите на dom, а не на html? Ваш источник не изменен javascript, но dom. Посмотрите на вкладку dom и посмотрите, было ли применено изменение.

Вы также можете попробовать следующее, чтобы добавить встроенный стиль к элементу:

 $(this).attr('style', 'text-align: center'); 

Это должно гарантировать, что другие правила стиля не будут отменять то, что, по вашему мнению, будет работать. Я считаю, что встроенные стили обычно имеют приоритет.

EDIT: Кроме того, еще один инструмент, который может вам помочь, – Jash ( http://www.billyreisinger.com/jash/ ). Он дает вам командную строку javascript, поэтому вы можете легко проверить тесты javascript и убедиться, что вы выбираете правильный элемент и т. Д.

Обычно я использую

 $(this).css({ "textAlign":"center", "secondCSSProperty":"value" }); 

надеюсь, это поможет

Я думаю, вы должны использовать «textAlign» вместо «text-align».

Интересно. У меня такая же проблема, как и у вас, когда я написал тестовую версию.

Решение заключается в использовании возможности jquery в цепочке и выполнении:

 $(this).width(500).css("text-align", "center"); 

Интересная находка.

Чтобы немного расширить, следующее не работает

 $(this).width(500); $(this).css("text-align", "center"); 

и приводит только к ширине, заданной в стиле. Цепочка двух, как я предложил выше, кажется, работает.

$(this).css("text-align", "center"); должен работать, убедитесь, что «это» – это тот элемент, на котором вы пытаетесь установить стиль выравнивания текста.

Верно?

  
        

Title

  $(this).css({'text-align':'center'}); 

Вместо этого вы можете использовать имя и идентификатор classа

 $('.classname').css({'text-align':'center'}); 

или же

 $('#id').css({'text-align':'center'}); 

function add_question () {var count = document.getElementById (“nofquest”). value; var container = document.getElementById (“контейнер”); // Очистить предыдущее содержимое контейнера while (container.hasChildNodes ()) {container.removeChild (container.lastChild); } для (i = 1; i

как установить центр текстовых полей

предположим, что нижний тег абзаца html:

 

This is a paragraph.

и мы хотим изменить цвет абзаца в jquery.

Клиентский код будет: