Chciałbym sprawdzić, czy wartość danych jQuery została zastosowana do obiektu. Na przykład, kod gdzie indziej może przenieść dane do obiektu:Właściwy sposób sprawdzenia konkretnej wartości .data() w obiekcie jQuery?
$myObject.data('hello','world');
indziej, chcę sprawdzić, czy wartość została podana do właściwości data cześć.
Jaki jest właściwy sposób postępowania z tym? .hasData
wydawało się oczywistym wyborem, ale wygląda na to, że nie działa tak, jak "hasClass", ponieważ nie można przekazać do niego konkretnej nazwy elementu danych.
więc, użyłbyś czegoś takiego jak 'if (typeof $ myObject.data ('hello') ===" undefined "))? To powinno działać, ale wydaje się "un-jQuery-ish";) –
@DA. Dla twojej prośby nie ma metody "jQuery-ish". Możesz napisać wtyczkę, jeśli chcesz. Wszystko, czego potrzebujesz, to ta informacja: 1. Po przypisaniu wartości za pomocą '.data()', ** element DOM ** otrzymuje właściwość, której nazwa jest równa '$ .expando'. 2. Ta właściwość, np. "JQuery1710979685063056744", posiada identyfikator. 3. Ten identyfikator, np. "29" odpowiada kluczowi w '$ .cache', np. '$ .cache [29]'. Dane są przechowywane w '$ .cache [29] .data'. –