javascriptで再帰処理
こんな感じで書きました。
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>再帰呼び出しサンプル</title> </head> <body> <p id="msg_aisatu1">おはよう</p> <p id="msg_aisatu2">こんにちは</p> <p id="msg_aisatu3">おげんきですか</p> <p id="msg_aisatu4">調子はどうだい?</p> </body> <script type="text/javascript"> var Sample = function(){ var _getUniqId = function(id){ //javascriptはvoid関数が無いため、このように対応した var result = id; var func = function(id, cnt){ var searchId = id + (cnt ? cnt : 1); var tgtEle = document.getElementById(searchId); if(tgtEle !== null) func(id, cnt ? ++cnt : 1); else result = searchId; } func(id); return result; } return{ getUniqId : _getUniqId } }; var obj1 = new Sample(); var result = obj1.getUniqId("msg_aisatu"); //検索結果:msg_aisatu5 console.log("検索結果:" + result); </script> </html>