有没有办法获取数据集的多个值?


<input type="file" data-custom="file" data-custom-icons="i-file i-upload" />

我想得到data-custom-icons的值,但用空格分隔它们。

// PREFERRED OUTPUT: ["i-file", "i-upload"]

我知道如何基本上获得值本身,并尝试通过Array.from()将它们放入数组中,就像我对classList所做的那样。但当我为那个数据集做这件事时,我的输出是每个字母的对象。

var icons = el.dataset.customIcons;
console.log(icons);
var ic = Array.from(icons);
console.log(ic);
// WRONG OUTPUT: ["i", "-", "f", "i", "l", "e", " ", "i", "-", "u", "p", "l", "o", "a", "d"]
// Converting the classList in to an object
var cl = Array.from(el.classList);
console.log(cl);
OUTPUT: ["btn","btn-primary"]

数据集有这样的行为是有原因的吗?

在这种情况下,您需要使用具有所需分隔符的split()方法:

console.log( document.querySelector('input[type="file"]').dataset.customIcons.split(/s+/) );
<input type="file" data-custom="file" data-custom-icons="i-file i-upload" />

最新更新