Я добавляю класс в поле в зависимости от содержимого этого поля, чтобы я мог по-разному настраивать каждое поле в зависимости от содержимого. Представьте себе рейтинг гамбургера от одного до десяти ... Я хочу заменить рейтинг изображением для одного, другое изображение для двух ... и так далее.Добавление класса в поле Drupal через выходы jQuery неправильный цикл
Для этого мне нужно, чтобы каждый класс поля отражал содержимое поля. Вот код, который я использую:
Drupal.behaviors.burgerRating = {
attach: function (context, settings) {
var burgerRating = $('.field-name-field-rating2').text();
$('.field-name-field-rating2').addClass(burgerRating);
}
}
Это выводит содержимое поля как класс, который я могу создать. Однако в блоге Просмотр с примерами трех сообщений на странице, этот код добавляет все три класса ко всем трем полям, когда мне нужно каждое конкретное содержимое поля для каждого экземпляра поля.
Что я получаю это:
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
<div class="field-name-field-rating2 rating-1 rating-5 rating-8">
Вместо:
<div class="field-name-field-rating2 rating-1">
<div class="field-name-field-rating2 rating-5">
<div class="field-name-field-rating2 rating-8">
Я думаю, мне нужно, чтобы получить эту работу с .this() или .each(), но Я не могу заставить его работать.
Любая помощь? Благодарю.
Кстати, это 'this', а не' .this() '. О вашем вопросе: try '$ (this) .addClass (burgerRating);' или '$ (контекст) .addClass (burgerRating);' – Regent
Ах да ... спасибо, что указали это. Я пробовал (это) и (контекст) ... ни один из них не работал. –