簡體   English   中英

如何傳遞元素的所有數據屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM