jQuery获取包含2个类的元素的类 保存 $(“.空缺提交”)。单击(函数(){ 变量类型=$(this.attr('class')。而不是('.emptance submit'); console.log(类型); });

jQuery获取包含2个类的元素的类 保存 $(“.空缺提交”)。单击(函数(){ 变量类型=$(this.attr('class')。而不是('.emptance submit'); console.log(类型); });,jquery,Jquery,我正试图将按钮的类放入一个变量中,该变量应该是update,而不是update-emptance-submit,下面的代码将从您得到的字符串中删除emptance-submit <button class="update vacancy-submit" tabindex="2">Save</button> $('.vacancy-submit').click(function(){ var type = $(this).attr('class').not('.v

我正试图将按钮的类放入一个变量中,该变量应该是
update
,而不是
update-emptance-submit

,下面的代码将从您得到的字符串中删除
emptance-submit

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

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

以下代码将从您获得的字符串中删除
空缺提交

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

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

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

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

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

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

如果总是头等舱:

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

如果总是头等舱:

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

尝试此操作以获取类属性中第一个类的名称

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

尝试此操作以获取类属性中第一个类的名称

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

仔细考虑后,我建议您定义以下JQuery扩展来隔离问题并使其更易于重用:

function classname() {
         var myClassName = $('#id').attr('class').split(' ');
        var firstName = myClassName[0];
      }
那么你只需要:

jQuery.fn.firstClass = function() {
    return this.attr('class') ? this.attr('class').split(' ')[0] : "";
   };
此处更新了JSFIDLE:
有0、1或更多类的测试用例。

仔细考虑后,我建议您定义以下JQuery扩展以隔离问题并使其更易于重用:

function classname() {
         var myClassName = $('#id').attr('class').split(' ');
        var firstName = myClassName[0];
      }
那么你只需要:

jQuery.fn.firstClass = function() {
    return this.attr('class') ? this.attr('class').split(' ')[0] : "";
   };
此处更新了JSFIDLE:
有0、1或更多类的测试用例。

“哪个应该说是更新,而不是更新空缺提交”—具体基于什么标准?该按钮有两个类,所以您希望如何只获取其中一个?问题不清楚,“哪个应该说是更新,而不是更新空缺提交”-具体基于什么标准?按钮有两个类,所以您希望如何只获取其中一个?问题不清楚?这取决于了解按钮上可能存在的所有其他类,因此不太实用。尽管问题措辞非常糟糕,但硬连接替换永远都不是一个好的选择。其他JQuery组件可以轻松地添加额外的类。最好提前做好最坏的打算。
adeneo
的建议似乎很合适,因为将添加未知类。在考虑这些问题后,我添加了JQuery
firstClass
JQuery扩展答案,作为一种更简洁/模块化的方法。我会对你的意见感兴趣。这取决于知道按钮上可能存在的所有其他类,因此不太实用。尽管问题的措辞很糟糕,但硬接线替换永远都不是一个好的选择。其他JQuery组件可以轻松地添加额外的类。最好提前做好最坏的打算。
adeneo
的建议似乎很合适,因为将添加未知类。在考虑这些问题后,我添加了JQuery
firstClass
JQuery扩展答案,作为一种更简洁/模块化的方法。我会对你的意见感兴趣。这取决于知道按钮上可能不太实用的所有其他类。这取决于知道按钮上可能不太实用的所有其他类。@Kite Player:可以,但你需要打开一个控制台窗口!考虑到这个问题的糟糕措辞,这似乎是最实际的解决方案。@Kite-Player:它是可行的,但你需要打开一个控制台窗口!考虑到问题的措辞不当,这似乎是最实际的解决方案。如果选择器没有硬连接到“#id”,这也是一个实际的答案。。。建议您传递选择器,或者将其作为JQuery扩展?如果选择器没有硬连接到“#id”,这也是一个实用的答案。。。建议您传递选择器,或者将其作为JQuery扩展?