簡體   English   中英

使用jQuery連接多個HTML元素的屬性?

[英]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.

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