3

ユーザーが付けた可能性のある[タグ]システムで要素にラベルを付け、タグの数(要素が持つクラスの数で定義)をカウントしたい場合、これをどのように達成しますか?

これは、タグの数ですべての要素を確認しようとする場合に役立ちます。(これは他の構造によって実現できる可能性がありますが、この方法で要素タグのみを参照する場合)

Jqueryには.hasClass()がありますが、.classCount()のようなものはありますか

4

3 に答える 3

5

あなたはそれを作成することができます...

$.fn.classCount = function() {
    return $.grep(this.attr("class").split(/\s+/), $.trim).length;
};

jsFiddle

jQueryがない場合は、次を使用できます...

var classLength = element.classList.length;

jsFiddle

jQueryがなく、古いブラウザをサポートする必要がある場合は ...

var classes = element.className.replace(/^\s+|\s+$/g, "").split(/\s+/);
var classLength = classes[0].length ? classes.length : 0;

jsFiddle

于 2012-11-08T03:53:03.057 に答える
1

HTML5を使用している場合は、classList属性を使用できます。例えば

$("#someElementId").classList.length 

次の場合は2を返します。

<div id="someElementId" class="stinky cheese"></div>

http://jsfiddle.net/thegreatmichael/rpdEr/のように

于 2012-11-08T04:07:46.910 に答える
0
$(element).attr('class').split(/\s+/).length

jsFiddleの例

于 2012-11-08T03:53:59.937 に答える