jquery .data () возвращает TypeError: Невозможно вызвать метод split из undefined в консоли

0

Я просто не могу окунуться в голову, почему это происходит. Здесь он работает так, как я думаю, он должен работать: http://jsfiddle.net/TD2Yp/5/

Консоль приносит Object {filetype: "first"} в качестве первого журнала. Но под моей демонстрационной ссылкой:

http://beta.us.lt/demo/, где я делаю то же самое в консоли:

$("#types").data("filetype") - работает, поскольку возвращает тип файла, но:

$("#types").data() brings:

TypeError: невозможно вызвать метод "split" undefined

Все еще не уверен, в чем разница между этими двумя разными контекстами или как я могу проверить, какие данные содержат элемент под демонстрационной ссылкой.

  • 0
    Он работает в скрипте, потому что latest в настоящее время - 1.10.2, а вы используете 1.3.2 в вашем /demo/ . И перегрузка .data() которую вы пытаетесь использовать, была добавлена в jQuery 1.4.0. До этого 1-й аргумент не был обязательным. Итак, вам нужно будет использовать более новую версию jQuery, как в скрипте, чтобы использовать это.
Теги:
jquery-data

1 ответ

0
Лучший ответ

Вы используете очень старую версию jQuery 1.3.2

Читать .data()

В jQuery 1.4.3 установка элемента данных элемента с.data(obj) расширяет данные, ранее сохраненные с этим элементом. Сам jQuery использует метод.data() для сохранения информации под именами "события" и "дескриптор", а также сохраняет любое имя данных, начиная с подчеркивания ("_") для внутреннего использования.


До jQuery 1.4.3 (начиная с jQuery 1.4) метод.data() полностью заменил все данные, а не просто расширил объект данных. Если вы используете сторонние плагины, может нецелесообразно полностью заменить объект данных элемента, поскольку плагины могут также устанавливать данные.


Обновите версию jQuery, чтобы использовать ее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню