簡體   English   中英

從屬性中獲取所有值並推入數組

[英]Grab all values from an attribute and push into an array

我有一個div容器,其標題為“ Location”。 在這個位置上是由半冒號分隔的一些國家。 我想抓住這些值中的每一個並將它們作為單獨的項目推入數組,而不是使用半冒號將其作為一個長字符串。

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

如前所述,您可以將location重命名為data-location並使用element.dataset.location來訪問該字符串(IE 10+)。

我建議您對自定義屬性使用data-前綴,即

HTML:

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

HTML5數據屬性

JS:

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

演示。

使用jQuery: http : //jsfiddle.net/3ma9m/

var str = $('.item-container').attr('location');
var n = str.split(";");

$.each(n, function (key, value) {
    $('.item-container').append(key + ": " + value + "<br />");
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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