jQuery获取一个包含2个类的元素的类

时间:2013-09-18 08:37:47

标签: jquery

<button class="update vacancy-submit" tabindex="2">Save</button>

$('.vacancy-submit').click(function(){
    var type = $(this).attr('class').not('.vacancy-submit');
    console.log(type);
});

我正在尝试将按钮的类放入变量中,该变量应该是update而不是update vacancy-submit

5 个答案:

答案 0 :(得分:5)

如果它始终是第一堂课:

$('.vacancy-submit').click(function(){
    var type = this.className.split(/\s+/).shift();
    console.log(type);
});

FIDDLE

答案 1 :(得分:1)

您需要替换类属性值的不需要部分

var type = $.trim($(this).attr('class').replace('vacancy-submit', ''));

答案 2 :(得分:0)

以下代码将从您获得的字符串中删除vacancy-submit

$('.vacancy-submit').click(function(){
    var type = $(this).attr('class').replace('vacancy-submit','');
    console.log(type);
});

答案 3 :(得分:0)

尝试此操作以获取类属性

中的第一个类的名称
function classname() {
         var myClassName = $('#id').attr('class').split(' ');
        var firstName = myClassName[0];
      }

答案 4 :(得分:0)

经过深思熟虑,我实际上建议您定义以下JQuery扩展来隔离问题并使其更具可重用性:

jQuery.fn.firstClass = function() {
    return this.attr('class') ? this.attr('class').split(' ')[0] : "";
   };

然后你只需:

$('.vacancy-submit').click(function(){
    var type = $(this).firstClass();
    console.log(type);
});

在此处更新了JSFiddle:http://jsfiddle.net/TrueBlueAussie/Bh8JT/1/

包含0,1个或更多类的测试用例。