Вопрос

Я хочу получить последний пункт массива с именами классов. Мой код выглядит так

var getClassName = [];
getClassName = $(this).attr('class').split();
console.log(getClassName);

В консоли я стали Получить этот ответ

["classname1 classname2"]

Как я могу получить имя последнего класса?

Спасибо

Это было полезно?

Решение

Как указывает Дженграм, ты почти там; Смотрите его ответ на детали, если вы хотите остаться на jQuery.

Но вы делаете браузер, сделайте много дополнительной работы, это один из тех времен, которым вам действительно не нужен jQuery:

var getClassName;
getClassName = this.className.split(' ');
console.log(getClassName[getClassName.length-1]);

То className имущество элементов DOM поддерживаются всеми основными браузерами (и, вероятно, все незначительные).

Еще, если вы не делаете это в тесной петле, дополнительный наклад $() а также attr Звонки, вероятно, на самом деле не имеет большого значения.

Другие советы

console.log(getClassName[getClassName.length-1]);

Сделаю, но вам нужно пройти аргумент split():

var getClassName = $(this).attr('class').split(' ');
var lastIndex = getClassName.length - 1;
console.log(getClassName[lastIndex]);

Редактировать: на использовании this.className
Рассмотреть возможность использования this.className вместо $(this).attr('class'). Отказ Это упоминается в Другие ответы.

Энди Э. Проделал отличную запись о том, как мы склонны злоупотреблять jQuery: Использование удивительной мощности jQuery для доступа к свойствам элемента. Отказ Статья конкретно относится к использованию .attr("id") Но проблема одинакова для $(...).attr('className') против. this.className.

Ты мог даже использовать

var getClassName = (this.className || '').split(' ');

Если вы не уверены, что .className существует.

$(this).attr('class').split(' ').pop()

Обратите внимание на документацию для разделения:

http://www.w3schools.com/jsref/jsref_split.asp.

Вам нужно написать:

split(' ')

Без сепаратора «вся строка будет возвращена»

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top