2016-10-16 11 views
-1

クラスがあります:クラスの数値接尾辞を取得するには?

<div id="my-id" class"my-class my-class-level-3"></div> 

は、どのように私は(この場合は - 3)その数値my-class-levelサフィックスを得ることができますか?クラス属性の順序は完全にランダムでもかまいません。

+0

'id'はクラスに関係していますか?クラス名には必ず「my-class-level」という接頭辞が付きますか?接尾辞を修復したい既知の要素ですか?その接尾辞は常に数字であるのでしょうか?どういうわけか、選択した要素が既にありますか?あらかじめ分かっている部分は何ですか? –

+4

あなたはほとんど間違いなくクラスを悪用しています。おそらく 'data-level =" 3 "'属性を持っているはずなので、データをクラスリストにパックするのではなく、ただちに値 '3'にアクセスすることができます。 – meagar

+0

@DavidThomas 1)とにかくIdは関係ない、申し訳ありません。 2)はい、知っているとおり、上記の例では、idやclass属性を使って簡単に取り出すことができます。 3)はい、それは常に数値です、私はそれをはっきりと述べたと思った4)ここで私の2番目の答えを参照することができます5)私は要素を知っていて、それは上に数字の接尾辞を持つクラスを記述したことを知っています – Apsed1976

答えて

0

これは、私はそれを行うだろうかです:

"use strict"; 

function getSuffix(element) { 
    let match; 

    if (match = element.className.match(/my-class.+my-class-level-(\d+)/)) 
     return match[1]; 

    return null; 

} 

console.log(getSuffix({className: 'my-class random class names my-class-level-5'})); 

それとも、単にlevel="9"などのカスタム属性を設定し、.getAttributeを使用して、それを取得することができます。 data-level="9"を使用してください。.dataset.levelを使用してください。

これが役に立ちます。

関連する問題