私は現在、個人的な使い方のためにJQueryアプリケーションを開発しています。リストの最後のクラスに基づいて決定を下しています。これは常にソートの識別子です。問題は、今私は私がしようとしているコードに一つの場所を持っているということですクラスリストの中に挿入
class1 class2 class_with_id
:のように要素のクラスが何かある
$("#myelement").attr('class').split(/\s+/).pop()
:としてそれは多くの場所で行われています私は通常、このように行うだろうリストにクラスを追加する:しかし
$("#myelement").addClass("newclass")
、作るのクラスは次のようになります。
class1 class2 class_with_id newclass
その後、識別子クラスを取得しても失敗します。最初にそれを追加しています
$("#myelement").attr('class', "newclass " + $("#myelement").attr('class'))
:
newclass class1 class2 class_with_id
は、私は2つの質問があり、両方の関連:私はそれがこれで作業しました
- はです最も簡単な/最も簡単な方法は、そのそれを最初に追加することはできますか?
空の文字列操作をせずに、クラスの途中でクラスを追加する簡単な方法はありますか?私。今、それはだ、それはあなたが行うようにクラス属性を使用することをお勧めではないので、この目的のためにdata-* attributesを使用して、より良いコメントで述べたように
class1 class2 newclass class_with_id
私はあなたが問題を抱えていると思いますが、あなたが探しているソリューションは良いものではありません。 'class_with_id'の代わりに、おそらく' data-with-id = "id" 'を使うべきです... –
データ属性を使うなら、これを心配する必要はありませんが、私はKarl-Andreに同意します。 [data-x]セレクタを使用すると、CSSやJavaScriptのデータ属性を引き続きターゲットにすることができます。データIDを作成する場合は、[data-id]を使用して呼び出すことができます。 – will
ダイナミックなデータ属性がセマンティックコンテンツではないため、データでスタイリングすることを誓う人もいれば、クラスが正しくない人もいます。それはまったく適切だが、私には思われる。 – Jonathon