[英]How to pass all of an element's data attributes
我希望能夠傳遞元素的所有data
屬性,而不必單獨指定它們。 例如:
function foo(elem) {
$.ajax({
type: 'POST',
data: JSON.stringify(elem.data()),
...
但是,當我簡單地提供elem.data()
時,實際上並沒有通過。 有沒有一種方法可以實現這一點而無需單獨指定,例如:
data: JSON.stringify({ foo: elem.data('foo'), ... })
由於您使用的是 jQuery data()
方法,我假設這里的elem
是 jQuery object。
您可以為此使用本機元素dataset
屬性,例如
{...elem.get(0).dataset}
以及JS spread operator
const el = document.querySelector('div'); console.log({...el.dataset});
<div data-test-id="test" data-test-key="test-key"></div>
嘗試使用擴展運算符語法:
const foo = { a: 'a', b: 'b', c: 'c' } const boo = { d: 'd', e: 'e', f: 'f' } const foo_boo = {...foo, ...boo } console.log(foo_boo)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.