jQuery's .data () birkaç şey yapar, ancak verileri DOM olarak bir öznitelik olarak eklemez. Bir veri özniteliğini kapmak için kullanırken, yaptığı ilk şey bir jQuery veri nesnesi oluşturmak ve nesnenin değerini veri özniteliğine ayarlamaktır. Bundan sonra, temel olarak veri özelliğinden ayrılır.
Misal:
<div data-foo="bar"></div>
Özniteliğin değerini kullanarak yakaladıysanız, .data('foo')
beklediğiniz gibi "bar" döndürür. Sonra özniteliği kullanarak .attr('data-foo', 'blah')
ve sonra .data('foo')
değeri kapmak için kullanın , DOM diyor olsa bile "bar" dönecektir data-foo="blah"
. .data()
Değeri ayarlamak için kullanırsanız , jQuery nesnesindeki değeri değiştirir, ancak DOM'daki değeri değiştirmez.
Temel olarak, .data()
jQuery nesnesinin veri değerini ayarlamak veya kontrol etmek içindir. Bunu kontrol ediyorsanız ve zaten bir tane yoksa, DOM'daki veri özelliğine göre değeri oluşturur. .attr()
DOM öğesinin özellik değerini ayarlamak veya kontrol etmek içindir ve jQuery veri değerine dokunmaz. Onları hem değiştirmeniz gerekirse hem kullanmalısınız .data()
ve .attr()
. Aksi takdirde, biriyle veya diğeriyle yapışır.
.data()
için bir nedeniniz yoksa kullanın.attr()
.