【发布时间】:2017-10-04 11:17:49
【问题描述】:
我有这段代码,我想弄清楚。基本上我需要的是只切片或复制列表中Program 1、Program 2、Program 3 和Program 4 的父元素,而不包括子元素。
我似乎无法在我的问题中找到答案,我相信您无法使用 jQuery slice 获取特定元素
var menuContainer = $('<ul class="menu" />');
var nonDegMenu = $('#header a[href$="/programs"]').next().clone(),
nonDegList = $('li', nonDegMenu),
nonDeg = $('#footer .programs-menu .non-degree'),
items = menuContainer.appendTo(nonDeg),
course = nonDegList.slice(0);
//Append Non Degree Courses
items.append(course);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<div id="header">
<ul>
<li>
<a href="/programs">Programs</a>
<ul>
<li>
<a href="#">Programs 1</a>
<ul>
<li><a href="#" >Program A</a></li>
<li><a href="#" >Program B</a></li>
<li><a href="#" >Program C</a></li>
<li><a href="#" >Program D</a></li>
</ul>
</li>
<li>
<a href="#">Programs 2</a>
<ul>
<li><a href="#" >Program E</a></li>
<li><a href="#" >Program F</a></li>
<li><a href="#" >Program G</a></li>
<li><a href="#" >Program H</a></li>
</ul>
</li>
<li>
<a href="#">Programs 3</a>
<ul>
<li><a href="#" >Program I</a></li>
<li><a href="#" >Program J</a></li>
<li><a href="#" >Program K</a></li>
<li><a href="#" >Program L</a></li>
</ul>
</li>
<li>
<a href="#">Programs 4</a>
<ul>
<li><a href="#" >Program M</a></li>
<li><a href="#" >Program N</a></li>
<li><a href="#" >Program O</a></li>
<li><a href="#" >Program P</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div id="footer" >
<div class="programs-menu">
<div class="non-degree">
</div>
</div>
</div>
【问题讨论】:
-
您能提供您期望的结果吗?看起来你只是想要
course = nonDegList.first() -
您想删除 4 个
<ul>但保留<li>? -
@freedomn-m 我正在寻找一种方法来输出或获取第一级列表,即 Program 1、Program 2、Program 3 和 Program 4,但不包括子列表或其中的子元素
-
你能改变html吗?给你想要的一个特定的类(所有相同的类)并将其用作选择器。
-
不清楚您在这里尝试使用
.slice做什么。你想得到第一个项目吗?所有的项目?似乎没有用,也没有必要。如果您要查找单个项目,则需要指定第二个参数.slice(0,1)
标签: javascript jquery html list jquery-selectors