jQuery - find last class on the element

2019-01-25 03:44发布

问题:

How to find last class on the element without knowing exact number of classes?

Our element:

 <div class="class-1 class-2 some-other-class"></div>

Normal approach with split will not work here, as we do not know the number of classes. Can we check the length of the .split(' ') ?

var i = $('div').prop('class');
var j = i.split(' ')[x];

Any suggestions much appreciated.

回答1:

The simplest solution is to use pop, which accesses the last element in the array.

var lastClass = $('div').attr('class').split(' ').pop();

Note that pop also removes the element from the array, but since you aren't doing anything else with it, that's not a problem.



回答2:

var classStr = $('div').attr('class'),
    lastClass = classStr.substr( classStr.lastIndexOf(' ') + 1);

DEMO

As classStr contains class names separated by a single space, so lastIndexOf(' ') will find the last space and make partition from there and give you the last class name.