<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" />