Javascript 从属性中获取所有值并推入数组

Javascript 从属性中获取所有值并推入数组,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一个名为“Location”的属性的div容器。在这个位置是一个分号分隔的国家选择。我想获取这些值中的每一个,并将它们作为单个项推入数组,而不是一个带分号的长字符串 <div class="item-container" location="United States; United Kingdom; France"></div> 一旦我有了这些,我想对它们进行分类,然而,前半部分是最重要的 感谢您的帮助 var element = document.query

我有一个名为“Location”的属性的div容器。在这个位置是一个分号分隔的国家选择。我想获取这些值中的每一个,并将它们作为单个项推入数组,而不是一个带分号的长字符串

<div class="item-container" location="United States; United Kingdom; France"></div>

一旦我有了这些,我想对它们进行分类,然而,前半部分是最重要的

感谢您的帮助

var element = document.querySelector('.item-container');
var locations = element.getAttribute('location').split('; '); // ["United States", "United Kingdom", "France"]
locations.sort(); // ["France", "United Kingdom", "United States"]
如前所述,您可以将
位置
重命名为
数据位置
,并使用
元素.dataset.location
访问该字符串(即10+)


如前所述,您可以将
位置
重命名为
数据位置
,并使用
元素.dataset.location
访问该字符串(即10+)。

我建议您对自定义属性使用
数据-
前缀,即

HTML:

<div class="item-container" data-location="United States; United Kingdom; France"></div>
var div = document.querySelector('[data-location]');
var arr = div.getAttribute('data-location').split(';').sort();
console.log(arr); // [" France", " United Kingdom", "United States"] 

我建议您对自定义属性使用
数据-
前缀,即

HTML:

<div class="item-container" data-location="United States; United Kingdom; France"></div>
var div = document.querySelector('[data-location]');
var arr = div.getAttribute('data-location').split(';').sort();
console.log(arr); // [" France", " United Kingdom", "United States"] 
使用jQuery:

var str=$('.item container').attr('location');
var n=str.split(“;”);
$.each(n,函数(键,值){
$(“.item container”).append(key+”:“+value+”
); });
使用jQuery:

var str=$('.item container').attr('location');
var n=str.split(“;”);
$.each(n,函数(键,值){
$(“.item container”).append(key+”:“+value+”
); });
您可能对html5自定义数据属性感兴趣:您可能对html5自定义数据属性感兴趣:比我的答案要好得多。可以在末尾添加
.sort()
调用。@RichardDalton我可以,但我想强调排序数组和未排序数组之间的区别。这太棒了。谢谢你(和其他所有人)花时间回复。比我的答案好多了。可以在末尾添加
.sort()
调用。@RichardDalton我可以,但我想强调排序数组和未排序数组之间的区别。这太棒了。感谢您(和其他所有人)花时间回复。第二行的额外括号太多了。IMO,这会使熟悉链接的开发人员无法阅读代码。第二行的额外括号太多了。IMO,对于熟悉链接的开发人员来说,这会降低代码的可读性。如果jQuery已经在使用,这是可以接受的解决方案。那么分类呢?Sheikh Heera的答案更好,包括分类。有关sort()的详细信息:如果jQuery已在使用,则可接受的解决方案。那么分类呢?Sheikh Heera的答案更好,包括分类。有关排序()的详细信息,请参见: