Применить разные атрибуты к каждому элементу одного класса - PullRequest
0 голосов
/ 17 февраля 2012

Что мне нужно изменить в моем коде?

Каждый элемент с классом "date_entry" должен иметь свой набор атрибутов, но в настоящее время все элементы с этим классом получают один и тот же атрибут ...

$("document").ready(function() {
    $(".date_entry").each(function() {
        if ($(".date_entry").attr("date", "")) {
            var date = $(this).text();
            var splitDate = date.split('/');
            var year = splitDate[2];
            var month = splitDate[0];
            var day = splitDate[1];

            var newAttr = year + month + day;
            $(".date_entry").attr("date", newAttr);
        }
    });
});​

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Используйте переменную this:

$(function() {
    $(".date_entry").each(function() {
            var date = $(this).text();
            var splitDate = date.split('/');
            var year = splitDate[2];
            var month = splitDate[0];
            var day = splitDate[1];

            var newAttr = year + month + day;
            $(this).attr("date", newAttr);
    });
});
0 голосов
/ 17 февраля 2012

Вы должны использовать $ (this) вместо $ (". Date_entry") внутри функции, которую вы передаете каждому ().$ (". date_entry") снова выбирает все элементы этого класса.

...