2012-06-05 55 views
0

我是編程新手,所以不確定這是否可以在jQuery中完成。jQuery選擇元素相同的類,並從數組中追加相應的值

我需要選擇一組具有相同類的段落,然後爲它們分配一個值(替換它們的內容或將其附加到段落中),因此對於第一項來說,數組中的第二個索引爲第二個數組的段索引1等等。

我猜我得做一個循環的各()種功能,所以這是我想出了

$(document).ready(function(e) { 
    writeValues('values','.mainPageMeters'); 
}); 

function writeValues (a , b) { 
    var mCount = 0; 
    var mValues = $('<p>'); 

    $("p.mainPageMeters" + a).each(function() { 
     $(this).html('<p>' + mCount + '</p>' + $(this).html()); 
     mValues.append($('<p>' + mCount++ + $(this).text() + '</p>')); 
    }); 

    $("" + b).append(mValues); 
} 



<p class="mainPageMeters">Loren Ipsum bla bla bla </p> 
<p class="mainPageMeters">Loren Ipsum bla bla bla </p> 
<p>Loren Ipsum bla bla bla </p> 
<p class="mainPageMeters">Loren Ipsum bla bla bla </p> 
+0

一個問題是,你正在使用writeValues你定義它。 – raym0nd

+1

你提到的數組在哪裏?最終的HTML應該是什麼樣子? – j08691

+0

@ raym0nd:不,這不是問題。函數聲明可以在範圍內的任何地方。 – Bergi

回答

0

你是在正確的軌道上,它看起來像你只是需要多一點的練習與JS。這是我掀起的一個簡單例子,我認爲這就是你想要做的。

​var arr, numOfWords, paragraphs; 

​arr = ["newFoo", "newBar"]​​​; 
paragraphs = $(".myClass") 

    // here I'm using jQuery to loop over each paragraph 
    paragraphs.each(function (i, elem) { 
     // here I assign the paragraphs text to the array's current index 
     $(elem).text(arr[i]);  
    }); 

http://jsfiddle.net/n3GKf/

+1

這正是我需要的感謝你的時間! –

+0

我是包含jQuery的編程螺紋的noob我在codecademy和w3schools上了一些在線課程 –

0

我不知道我是否理解正確的話,你打算什麼但也許這有助於:

$(document).ready(function() { 
    array = ["first", "second", "third"]; 
    $("p.your-class").each(function(i, $p) { 
     $p.html(array[i]); // or 
     $p.append(array[i]); 
    }); 
}); 
+0

我試過這段代碼,並運行它在jsFiddle與追加,它不運行(我沒有擺脫html線) –

相關問題