在Javascript中为数组中的每个元素添加span标记?

时间:2014-11-14 17:25:12

标签: javascript tags

假设我有一个数组。如何将数组中的每个元素包装在span标记中?另外,如果我想.appendchild每个span元素到div元素,我该怎么办呢?

 function add_span(arr){  
     var new_arr= document.createElement("span");// arr is passed in correctly 
     var text=document.createTextNode(arr); // text cannot be output
     new_arr.appendChild(text);
     return new_arr;
 }

并在主要内容:

 for (i = 0; i < unique_array.length; i++)
 { 
     span_array[i]=add_span(unique_array[i]);
 }
 var cloud_text=document.createTextNode(span_array);
 cloud.appendChild(cloud_text);

输出现在看起来像这样: [object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement],[object HTMLSpanElement]

2 个答案:

答案 0 :(得分:1)

JSFiddle Example (Updated)

假设您有一个字符串数组:

var arrayExample = ["apple", "orange", "pear"];

遍历数组中的每个字符串:

arrayExample.forEach(main);

将数组字符串项附加到span对象中,然后附加到div对象中:

<强>被修改

function main(arrayItem, index, array) {
    var spanObj = "<span>" + arrayItem + "</span>"
    var divObj = document.createElement('div');
    divObj.innerHTML = spanObj;

    // Do something like:
    document.body.appendChild(divObj);

    // Replace old array string with new array string wrapped in <span>
    arrayExample[index] = spanObj
}
alert(arrayExample); // will output your new Array 

答案 1 :(得分:-1)

您希望遍历所有数组元素并将span标记添加到开头和结尾,如下所示:

var example = [];

for(var i = 0; i < example.length; i++) {
    example[i] = '<span>' + example[i] + '</span>';
}

这会将html span标记添加到文本中,然后将数组元素添加到文本中。 i充当您要移动的数组对象的标识符。