2015-05-29 73 views
-7

属性如何获得所有的孩子由父母的id属性和返回对象实例的数组获取所有的儿童在使用父ID的jQuery

我想这样的结果:

pat_101 = adm_01-adm01, adm_01-adm02, adm_01-adm03 
pat_102 = adm_04-adm04, adm_05-adm05, adm_06-adm06 
pat_103 = adm_07-adm07, adm_08-adm08, adm_09-adm09 

从这个网站:

<div> 
    <ul> 
    <li id="pat_101"> 
     <ul> 
     <li id ="adm_01" title="adm101"></li> 
     <li id ="adm_02" title="adm102"></li> 
     <li id ="adm_03" title="adm103"></li> 
     </ul> 
    </li> 
    <li id="pat_102"> 
     <ul> 
     <li id ="adm_04" title="adm104"></li> 
     <li id ="adm_05" title="adm105"></li> 
     <li id ="adm_06" title="adm106"></li> 
     </ul> 
    </li> 
    <li id="pat_103"> 
     <ul> 
     <li id ="adm_07" title="adm107"></li> 
     <li id ="adm_08" title="adm108"></li> 
     <li id ="adm_09" title="adm109"></li> 
     </ul> 
    </li> 
    </ul>  
<div> 

谢谢

+7

你给我们的好作业 –

+0

这非常艰难,我做不到...... ^^ – Jai

+0

@coder请理解!很抱歉,我们没有时间为您写出所有代码。首先,您尝试向我们展示您尝试过的代码,并且我们会建议或修改该代码以获得您的答案。 –

回答

0

因此,这里是一个答案,欢迎您stackoverflow.com:

var parents = document.getElementsByTagName("li") 
var output = "" 
var children 
for (var ii=0, parent; parent=parents[ii]; ii++) { 
    children = parent.getElementsByTagName("li") 
    if (children.length) { 
    childArray = [] 
    for (var jj=0, child; child=children[jj]; jj++) { 
     childArray[jj] = child.id 
    } 
    output += parent.id + " = " + childArray.join(", ") + "\n" 
    } 
} 

output = output.slice(0, -1) 
console.log (output); 

也许你想通过这种方式一行一行,在Google上查找关键字并确保你理解它们。准备就绪后,您可以关闭此窗口并为自己重新编写方法,只需使用笔记即可,而无需查看原始内容。快乐噶!