[英]Concatenate attributes from multiple HTML elements with jQuery?
我想創建一個表示容器每個元素名稱的字符串,每個名稱用逗號分隔。 我想出了以下jQuery函數:
var list = "";
container.children("*").each(function()
{
if(list)
{
list += ",";
}
list += jQuery(this).data("item-name");
});
我想知道是否有更有效/干凈的方式收集屬性而不使用這種方式的each()
函數?
您可以使用.map()
方法獲取數組,然后使用逗號連接項目:
var list = $('.element').children().map(function () {
return $(this).data("item-name");
}).get().join(',');
基本示例:
var list = $('.element').children().map(function () { return $(this).data("item-name"); }).get().join(','); document.body.textContent = list;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="element"> <div data-item-name="name1"></div> <div data-item-name="name2"></div> <div data-item-name="name3"></div> <div data-item-name="name4"></div> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.