Получите последнее имя массива с jQuery
Вопрос
Я хочу получить последний пункт массива с именами классов. Мой код выглядит так
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(' ')
Без сепаратора «вся строка будет возвращена»