2012-03-17 109 views
1

的ID我有一個變量name給了我幾個要素:追加每個元素

console.log(name) = joe,foo,john,maria 

和可變src給我每個名字的鏈接:

console.log(src) = www.joe.com, www.foo.com, www.john.com and www.maria.com分別。

現在我想追加一個div其中的每一個都會有鏈接,每個「名字」和文本的ID,所以我將結束與一些喜歡這樣的:

<div id="joe">www.joe.com</div> 
<div id="foo">www.foo.com</div> 
<div id="john">www.john.com</div> 
<div id="maria">www.maria.com</div> 

這是什麼我到目前爲止:

var arr = []; 
var textToInsert = ''; 
$.each(arr, function(count, item) { 
    textToInsert += '<div id="'+ name +'">' + a + '</div>'; 
}); 

$('body').append(textToInsert); 

回答

1

假設名稱和src是字符串數組,你只是在那裏 - 得到名稱的名稱項目的索引,並用它來抓取相應的src網址另一個陣列英寸否則,從兩個列表中製作一張地圖,並以此方式進行。

var arr = ['a', 'b', 'c', 'd']; 
var arr2 = [ 1, 2, 3, 4]; 
var result = ""; 

$.each(arr, function(index, value) { 
    result += '<div id="' + value + '">' + arr2[index] + "</div>" 

}); 

$('body').html(result); 
+0

你可以請檢查我的小提琴,因爲你的答案不起作用? http://jsfiddle.net/Hq8fD/ – jQuerybeast 2012-03-17 02:40:20

+0

我在jsfiddle中運行我的發佈之前。 – 2012-03-20 20:50:10

+0

鏈接中的jsfiddle示例與您問題中的示例無關。但我注意到的一件事是,您在輸入標籤中使用非標準屬性來存儲網址。如果您必須像這樣在頁面上存儲數據,請使用隱藏的div或輸入。 – 2012-03-20 20:55:58

1

我沒有測試它,但這應該工作。

var names = name.split(','); 
var srcs = src.split(','); 
var textToInsert = ''; 
var currentName; 
var currentSrc; 
for (index in names) { 
    var currentName = names[index]; 
    var currentSrc = srcs[index]; 
    textToInsert += '<div id="'+ name +'">' + a + '</div>'; 
} 

$('body').append(textToInsert); 
+0

燦你請檢查我的小提琴,因爲你的答案r不起作用? http://jsfiddle.net/Hq8fD/ – jQuerybeast 2012-03-17 02:38:58

1
這裏

簡單的例子

$(document).ready(function(){ 
    var name = ['joe','foo','john','maria']; 
    var src = ['www.joe.com', 'www.foo.com', 'www.john.com','www.maria.com'] 
    var html = "";   
    for(i=0;i<name.length;i++){ 
     html += "<div id='" + name[i] + "'>" + src[i] + "</div>" 
    } 

    $("body").append(html); 
});​ 
+0

你能否請檢查我的小提琴,因爲你的答案不起作用? http://jsfiddle.net/Hq8fD/ – jQuerybeast 2012-03-17 02:38:12

+0

你的問題和你發佈的jsfiddle沒有任何關係。 – DG3 2012-03-17 02:50:40

+0

我在發佈之前在jsfiddle中運行了我的程序。 – 2012-03-20 20:49:37

1

我還沒有測試這一點,但我這是怎麼解釋你的問題......

var name = ['joe','foo','john','maria']; 
var src = ['www.joe.com','www.foo.com','www.john.com','www.maria.com']; 
var str = ""; 
for (var i=0;j=name.length;i<j;i++) { 
    str += "<div id='" + name[i] + "'>" + src[i] + "</a>\n"; 
} 
document.write(str); 
+0

你可以請檢查我的小提琴,因爲你的答案不起作用? http://jsfiddle.net/Hq8fD/ – jQuerybeast 2012-03-17 02:38:25

1

Demo

var arr = ['joe', 'foo', 'john', 'maria']; 
$.each(arr, function(count, item) { 
    var a = 'www.' + item + '.com'; 
    $('body').append('<div id="' + item + '"><a href="http://' + a + '">' + a + '</a></div>'); 
});