2016-03-20 15 views
0

私は結果を返す関数を持っています。どのように私は結果に番号を付けることができるように自動インクリメントに近づきますか?ループを使用する必要がありますか?番号を付けた結果をjavaScriptのDOMで自動的にインクリメントする方法はありますか?

function addEventOutputTracking(outputText, extraText) { 
    var num = 1; 
    var node;//for element to add child element later 
    var pChildNode = document.createElement("p");//new element that will be child of node 

    //new document parts created, so add them to document 
    node = document.getElementById("eventOutput"); //existing div we are adding to 
    node.appendChild(pChildNode); //adding p element as child of div 
    pChildNode.appendChild(document.createTextNode(num + 1 + outputText + " " + extraText)); //adding text to new p element 

}//end function addEventOutputTracking 

答えて

1

あなたはclassNameはたぶん

var pChildNode = document.createElement("p"); 
pChildNode.className = "abc"; 
node.appendChild(pChildNode); 
pChildNode.appendChild(document.createTextNode(
    document.querySelectorAll(".abc").length + outputText + " " + extraText) 
); 
+0

をありがとう、働きました! –

1

をインクリメントするdocument.querySelectorAll(/* className */)によって返されたこのような何か有する要素の.length使用し、classNamepに要素を追加することができます。

var addEventOutputTracker=(function(){ 
    var num=1; 
    return function(outputText,extraText) { 
      var node;//for element to add child element later 
      var pChildNode = document.createElement("p");//new element that will be child of node 
//new document parts created, so add them to document 
      node = document.getElementById("eventOutput"); //existing div we are adding to 
      node.appendChild(pChildNode); //adding p element as child of div 
      pChildNode.appendChild(document.createTextNode((num++) + outputText + " " + extraText)); //adding text to new p element 
    } 
})(); 
+0

'addEventOutputTracker'を呼び出すたびに' num ++ 'は' 2'になりますか? – guest271314

+0

numは、addEventOutputTrackerを呼び出すたびに増分します。説明「なぜnumは増分ですか?」私はこの記事を読むことをお勧めします:https://developer.mozilla.org/en/docs/Web/JavaScript/Closures –

+0

_ "番号は、addEventOutputTrackerへの呼び出しごとにインクリメントされます。" _「var num = 1」が設定されていますか'addEventOutputTracker'を呼び出すたびに' num'を '' 1 'にしますか? – guest271314

関連する問題