回答
HTML:
<ul>
<li id="accounts">
<p> Accounts </p>
<ul>
<li> 1 </li>
<li> 2 </li>
<li> 3 </li>
<li> . </li>
</ul>
</li>
</ul>
的JavaScript:
// Get accounts, ul and set sum to 0
var acc = document.getElementById("accounts"),
ul = acc.getElementsByTagName("ul")[0],
sum = 0;
// Filter out text nodes. Returning an array of <LI> elements
var lis = Array.prototype.filter.call(ul.childNodes, function(li) {
if (li.tagName === "LI") {
return true;
}
});
// Loop through LIs adding up the sum
for (var i = 0, ii = lis.length; i < ii; i++) {
// If it's the last LI element then set the textContent.
if (i === ii - 1) {
lis[i].textContent = sum;
} else {
sum += +lis[i].textContent;
}
}
免責聲明:需要現代的瀏覽器或Modernizr的。
這比我自己的實現更加整潔...並且循環減少了50%..! ** + 1 ** = D –
@DavidThomas您的實施在哪裏? – Raynos
我很慚愧,但它[JS小提琴](http:// jsfiddle。淨/ davidThomas/HdAqr /)。這與你自己的實現非常相似,這就是爲什麼我沒有發佈它。它只是不那麼漂亮和簡潔... =/ –
如果你真正的標記就是這樣一個列表,你可以做這樣的事情:
// using jquery syntax for brevity; consider it pseudocode
var jList = $('#accounts');
function addColumns() {
var iSum = 0;
jList.find('li').each(function() {
var jLI = $(this);
if(parseFloat(jLI.text()) != 'NaN')
iSum += parseFloat(jLI.text());
});
return iSum;
}
這不是超級偉大的代碼。如果您向我們提供一些關於您正在處理的內容的更多信息,則應該提供一些更強大的內容。但基本思想是你檢查一組感興趣的元素,看它們是否具有可彙總的內容(即,如果它們的文本內容可以被解釋爲一個數字);那麼你可以將可加的項目加在一起。
像這樣的算法的要求會強加你的「列」可以被標記的方式的限制。但是有一個近乎無限的可能性。
- 1. Javascript adding e.preventDefault();以腳本
- 2. Arraylist not adding java
- 3. PHP OOP NOT ADDING
- 4. Programmicatically Adding Assets
- 5. Tableau Adding小計
- 6. JMenuItem-adding event listener
- 7. Python..adding INT到可變
- 8. Objective-c NSMutatbleArray addObject not adding
- 9. <A href> adding " to URL
- 10. while statments adding php txt to php page
- 11. PHP正則表達式question..adding逗號
- 12. 錯誤 - 「Gradle DSL method not found:compile()」while adding recyclerview
- 13. Laravel 5.1 - 數據表-Adding使用editColumn
- 14. Angular 2 import node_modules not adding to build
- 15. Highslide adding font-size:0px ...這是否否?
- 16. 在<a href="https://octobercms.com/docs/backend/lists#adding-toolbar" rel="nofollow noreferrer">https://octobercms.com/docs/backend/lists#adding-toolbar</a>十月
- 17. 頁面跳轉,<a href> adding websites randomly to links
- 18. Adding context.Response.Headers.Add(「Cache-Control」,「no-cache」);說IIS集成管道需要?
- 19. C#-adding一個ASP:按鈕在後面的代碼
- 20. 水平傳說獲取基於位置的代碼(<a href="http://zeroviscosity.com/d3-js-step-by-step/step-3-adding-a-legend" rel="nofollow noreferrer">http://zeroviscosity.com/d3-js-step-by-step/step-3-adding-a-legend</a>),我創建了一個水平上的傳奇右側
- 21. 顯示在JavaScript
- 22. 隊列中的javascript函數
- 23. 原型在JavaScript
- 24. 使用javascript或jquery驗證
- 25. Javascript Select Value Load
- 26. Jasmine javaScript異常
- 27. 的Javascript:使用appendChild
- 28. asp.net ajax javascript postback
- 29. 的Javascript:由回調
- 30. 用c縮小javascript#
到目前爲止你做了什麼?你有什麼代碼的例子嗎? –