我想在jQuery中获得一个被点击元素的类的一部分

时间:2013-05-12 22:29:27

标签: javascript jquery variables

所以,我有这样的功能:

$('a.tdt-btn-*').click(function() {
            var class = $(this + "[class^=tdt-btn-*]"); // Need more here

            console.log(class);
        });

我想要做的是在结尾处获取通配符部分的值。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

我建议:

$('a[class*=tdt-btn-]').click(function() {
    var elClasses = this.className.split(/\s+/),
        elClassWildcard;
    for (var i = 0, len = elClasses.length; i < len; i++){
        if (elClasses[i].indexOf('tdt-btn-') === 0) {
            elClassWildcard = elClasses[i].replace('tdt-btn-', '');
        }
    }
    console.log(elClassWildcard);
});

JS Fiddle demo

顺便提一下,class是JavaScript中的保留字,应该或可以,不能用作变量名(我相信如果你这样做会引发错误)。< / p>

参考文献:

答案 1 :(得分:1)

只有一个班级:

试试这个(class是保留字,所以我使用clazz):

 $('a[class^="tdt-btn-"]').click(function() {
        var clazz = $(this).attr('class').replace('tdt-btn-','')
        console.log(clazz);
 });

Demo fiddle

多个CSS类:

首次出现tdt-btn-*

$('a[class*="tdt-btn-"]').click(function() {
    var clazz = $(this).attr('class').match(/(tdt-btn-)(.+?)(?=(\s|$))/)[2];
    console.log(clazz);
});

Demo fiddle