1. ホーム
  2. jquery

[解決済み] jQueryを使用してtext-alignのスタイルを動的に追加する方法

2023-06-05 22:26:22

質問

私は、CSS 2.1 に関する通常の IE のバグを修正しようとしており、カスタム テキスト整列スタイルを追加するために要素のスタイル プロパティを変更する方法が必要です。

現在、jQueryでは次のようなことを行うことができます。

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

のように表示されるのですが、これと同じ方法でtext-alignを変更する良い方法が見つかりそうにありません。

この項目にはすでにクラスがあり、そのクラスでtext-alignを設定したのですが、うまくいきません。クラスが定義された後、この要素にtext-align CSS属性を追加するだけで良いのでしょうか?

私は次のようなものを持っています。

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

は、私の幅の調整後、私はfirebugでこれを表示した後、私はスタイルに設定されている唯一のプロパティは"width"であることがわかります。 任意のヘルプ?

EDITです。

この質問には大きな反響がありました。この問題については、もう少し詳しく説明します。

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

AND

$(tddiv).width(ts.p.subGridModel[0].width[i]).css('text-align', 'center');

私は今日もこの問題に取り組み、この奇妙な問題に関して私の痛みを感じている人のために最終的な解決策を投稿するつもりです。

どのように解決するのですか?

ドキュメントにあるように、あなたは正しい考えを持っています。

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

classやidで識別しているのは間違いないでしょうか?

例えば、クラスがmyElementClassの場合

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

あと、しばらくFirebugで作業していないのですが、htmlではなく、domを見ていますか? ソースはjavascriptで変更されないけど、domは変更されるよ。 domタブを見て、変更が適用されているかどうか確認してください。