0

したがって、次のようなcssファイルがあります。

.textbox{
 position: fixed;
 width: 225px;
 }

次に、次のような JQuery メソッドがあります。

function textbox(name) {
...
$(".textbox_" + name).text();
...
$(".textbox-" + name).text();
    }

cssファイルにはアンダースコアまたはハイフンが含まれていないため、アンダースコアとハイフンが何をするのかわかりません。CSSで変数を渡す方法がよくわかりません。

4

2 に答える 2

1

name == としましょうfoo。私の理解が正しければ、CSS と JavaScript コードを比較して、これらの識別子の類似性に気付いていることになります。

  • .textbox
  • .textbox-foo
  • .textbox_foo

CSSのクラスと結合するfooある種のパラメータまたは疑似クラスはありますか? .textboxここの関係は?

答え: ありません。 textboxtextbox-foo、およびtextbox_fooは、すべてまったく異なる HTML/CSS クラス名です。ハイフンとアンダースコアは、CSS の識別子の一部として完全に有効であるため、これら 3 つのクラスはabc、 、def、および と名付けられたかのように異なりghiます。

したがって、CSS に渡される変数はありません。そうです、CSS には変数がありません。表示されるのは、似たような名前を持つさまざまなクラスだけですが、ブラウザーに関する限り関連はありません。

ただし、 jQuery 呼び出し$(".textbox_" + name)は JavaScript であり、JavaScript で変数を渡すことができます。jQuery を使用して、このコードは class name を持つ一連の HTML 要素を見つけます。textbox_fooここで、は関数fooに渡した名前ですtextbox。クラスも持っていない限り、クラスtextboxまたはの要素には触れません。textbox-footextbox_foo

jsFiddle デモ

JavaScripttextbox関数に関しては、残りの部分を見ずに何をするかを知る方法はありません。私が見た他の jQuery プラグインに基づく私の推測では、nameフィードしたパラメーターに従って、ページ内の新規または既存のテキスト ボックスを操作するということです。おそらくスタイルと動作をそれらに追加し、その過程で、HTML 要素をクラスtextbox-fooおよび/またはで動的に追加しますtextbox_foo。似たような名前は、おそらく、生成された HTML ソースを理解するのに役立つでしょう。

于 2013-06-11T21:11:25.293 に答える
0

その関数は、テキストボックスからテキストを動的に取得しています。したがって、"blah"その関数に次のような文字列パラメーターを渡すと:

textbox("blah");

次に、jQuery は、クラスtextbox_blahまたはを持つ要素内のテキストを取得していますtextbox-blah

これらの要素が存在する場合は、クラス名に CSS を使用してスタイルを設定できます。

于 2013-06-11T20:42:33.610 に答える