我有一个Activity xml文件,当我点击子显示的活动时,我试图从活动中获取。它看起来像是所有点击的结束。
<ul id="firstLevelChild">
<ul id="ul">
<li id="4">Activities
<ul class="ul">
<li id="10066">Physical1
<ul class="ul">
<li id="10067">Cricket
<ul class="ul">
<li id="10068">One Day</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</ul>
现在我希望如果li没有叶子节点,那么它在另一个div中显示。类似的东西:
点击Acitivities
有子节点Physical1
,还有子Cricket
,当{@ 1}}点击One Day
时,有一天one day
现在没有孩子它显示在我的<div id="result"></div>
答案 0 :(得分:1)
我会将此添加为评论,但我没有足够的代表。 ChildNodes()
不是函数 - 因为看起来您正在使用jQuery,请尝试使用children()
。
答案 1 :(得分:0)
我认为javascript可以帮助你。你首先建立你的DOM正确的部分;)
如果当前元素节点有子节点,则hasChildNodes()方法返回TRUE,否则返回FALSE。
答案 2 :(得分:0)
假设您提供的标记始终是ul
作为所有li
的子项。您只需检查当前ul
内是否存在li
。见fiddle
<强> HTML 强>
<div id="content">
<ul id="firstLevelChild">
<li>
<ul id="ul">
<li id="4">Activities
<ul class="ul">
<li id="10066">Physical1
<ul class="ul">
<li id="10067">Cricket
<ul class="ul">
<li id="10068">One Day</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<h2>Result</h2>
<ul id="result"></ul>
<强> JS 强>
$('#content li').each(function (i) {
//for display purpose only
$('#content').append('<span class="list">li(' + i + '):' + $('ul', $(this)).length + '</span>');
//the code you needed
if ($('ul', $(this)).length < 1) {
$(this).on('click', function () {
$('#result').append($(this).parent().html());
});
}
});