参考如下代码:
<html>
<body>
<div id="menu">
<ul>
<li >我是1</li>
<li id="m_1">
<ul>
<li>1111111111</li>
</ul>
</li>
<li >我是2</li>
<li id="m_2">
<ul>
<li>2222</li>
</ul>
</li>
</ul>
</div>
<button onclick="buttonClick()">test</button>
<script type="text/javascript">
function scanChild(parent, regexp, output) {
for (var i = 0; i < parent.childNodes.length; i++) {
if (regexp.test(parent.childNodes[i].id)) {
output.push(parent.childNodes[i]);
}
scanChild(parent.childNodes[i], regexp, output);
}
}
function buttonClick() {
var output = [];
scanChild(document.getElementById("menu"), /^m_\d+$/g, output);
var msg = "";
for (var i = 0; i < output.length; i++) {
msg += output[i].id + "\r\n";
}
alert(msg);
}
</script>
</body>
</html>
<html>
<body>
<div id="menu">
<ul>
<li >我是1</li>
<li id="m_1">
<ul>
<li>1111111111</li>
</ul>
</li>
<li >我是2</li>
<li id="m_2">
<ul>
<li>2222</li>
</ul>
</li>
</ul>
</div>
<button onclick="buttonClick()">test</button>
<script type="text/javascript">
function scanChild(parent, regexp, output) {
for (var i = 0; i < parent.childNodes.length; i++) {
if (regexp.test(parent.childNodes[i].id)) {
output.push(parent.childNodes[i]);
}
scanChild(parent.childNodes[i], regexp, output);
}
}
function buttonClick() {
var output = [];
scanChild(document.getElementById("menu"), /^m_\d+$/g, output);
var msg = "";
for (var i = 0; i < output.length; i++) {
msg += output[i].id + "\r\n";
}
alert(msg);
}
</script>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
var idCount =0;
$("div#menu *").each(function(idx){
if($(this).attr("id").indexOf("m_") != -1){
idCount ++;
}
}); alert(idCount);
});
</script>
<div id="menu">
<ul>
<li >我是1</li>
<li id="m_1">
<ul>
<li>1111111111</li>
</ul>
</li>
<li >我是2</li>
<li id="m_2">
<ul>
<li>2222</li>
</ul>
</li>
</ul>
</div>
var divObj = document.getElementById("menu");
var lis = divObj.getElementsByTagName("li");
var num = 0;
var reg = /^m_(\d)+/;
for(var i=0;i<lis.length;i++){
if(reg.test(lis[i].id)){
num++;
}
}
function lookupByID(dom,to)
{
if( dom.id.substring(0,2)=='m_' )
to.push( dom );
if( dom.childNodes ) for(var i=0;i<dom.childNodes.length;i++)
lookupByID(dom.childNodes[i],to)
}
var allDoms = [];
lookupByID( document.getElementById('menu'), allDoms );
for(var i=0;i< allDoms .length;i++)
console.log(allDoms [i].id)