简单:移除<使用classname,然后将这个类名添加到下一个(或当前)< light >
Simple: Remove <li> with classname, then add this classname to next (or current) <li>
我在滑块中有一个图像列表,如下所示:
<ul>
<li class="dd">one</li>
<li>two</li>
<li>three</li>
<li>four</li>
</ul>
有一个按钮删除<li>
类"dd",所以我有这个功能继续:
function delete(){
$('li.dd').remove();
}
所以现在特定的<li>
被删除了,我想要类"dd"被添加到我当前在的<li>
上。我试着添加这个:
function delete(){
$('li.dd').remove();
$('li').addClass(' dd')
}
但是正如您所看到的,它所做的只是将类添加到所有现有的<li>
s中,这意味着如果我再次选择单击删除按钮,整个列表将被删除。
我有一支笔正在写我所拥有的:
http://codepen.io/anon/pen/gpNwGp提前感谢!
因为你添加类的所有元素,所有的li
s将被删除在下一次点击。您可以使用以下方法将类只添加到第一个 li
。
您可以使用:first
伪选择器来选择第一个元素。
function delete() {
$('li.dd').remove();
$('li:first').addClass('dd');
// ^^^^^^
}
你也可以使用first()
来获取第一个元素
function delete() {
$('li.dd').remove();
$('li').first().addClass('dd');
// ^^^^^^^^
}
可以查看更新后的codepen Demo
您可以使用jQuery方法使其更干净
function toggleSlide(direction) {
var $visible = $('.slider > li:visible').hide();
var $ft = $visible[direction ? 'next' : 'prev']();
if (!$ft.length) {
$ft = $('.slider > li')[direction ? 'first' : 'last']();
}
$ft.show();
setIndex();
}
function getVisible() {
return $('.slider > li:visible').index() + 1;
}
function goToEdge(where) {
$('.slider > li:visible').hide();
$('.slider > li')[where ? 'last' : 'first']().show();
setIndex();
}
function addSlide() {
$('ul.slider').append('<li class="hideable"><img src="http://placehold.it/700x100" alt="Sunset" /></li>');
}
function deleteSlide() {
var $visible = $('.slider > li:visible');
toggleSlide(true);
$visible.remove();
}
function setIndex() {
$('#slideNumber').text(getVisible())
}
setIndex();
.hideable {
display: none;
}
img {
width: 640px;
height: 480px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="slider" style="list-style-type:none; margin-left:-2em;">
<li class="hideable dd" style="display: block;">
<img src="http://placehold.it/100x100" alt="hinterground" />
</li>
<li class="hideable">
<img src="http://placehold.it/200x100" alt="Berries" />
</li>
<li class="hideable">
<img src="http://placehold.it/300x100" alt="Cheetah" />
</li>
<li class="hideable">
<img src="http://placehold.it/400x100" alt="Fence" />
</li>
<li class="hideable">
<img src="http://placehold.it/500x100" alt="Paper" />
</li>
<li class="hideable">
<img src="http://placehold.it/600x100" alt="Sunset" />
</li>
<!-- ... and so on -->
</ul>
<!-- Buttons to go back and forth between slides. -->
<form>
<input type="button" id="firstButton" value="First" onclick="goToEdge(false)" />
<input type="button" value="Back" onclick="toggleSlide(false)" />
<input type="button" value="Forward" onclick="toggleSlide(true)" />
<input type="button" id="lastButton" value="Last" onclick="goToEdge(true)" />
<input type="button" value="Add Slide" onclick="addSlide()" />
<input type="button" value="Delete Slide" onclick="deleteSlide()" />
<p>Slide
<!-- you can change "Slide" to Page, Item, etc. --> <span id="slideNumber">
</span>
</p>
</form>
先保存下一个元素来添加class:
function delete(which) {
var next_li = $('li.dd').next();
$('li.dd').remove();
next_li.addClass("dd");
}
我想这可能对你有帮助。好运。
回忆!不要使用.first()
,因为它提供了第一个dd
类。
相关文章:
- angularjs移除焦点上的活动类并添加到下一个项目
- JavaScript/jQuery-添加添加和删除类与下一个函数之间的延迟
- 在单击下一个按钮之前,在JavaScript代码中添加5秒的延迟
- 为缩略图库和较大图像库添加下一个和上一个按钮
- 添加测验计时器,如果计时器达到0,则淡出/跳到下一个
- 将下一个和上一个按钮添加到我的图像滑块
- JQuery,引导导航 - 如何添加上一个/下一个按钮
- 单击“下一个”和“上一个”时,如何从导航菜单中添加和删除类
- 如何将下一个和上一个按钮添加到图像galary
- 使jQuery图像滑块停止在最后一个图像,并添加下一个和上一个按钮
- 在使用Jquery/Javascript单击下一个和上一个按钮时动态添加图像
- 如何在javascript中将下一个和上一个链接添加到当前滑块
- 向上一个/下一个图像幻灯片添加计数器(仅限javascript/css)
- 如何在多个 html 页面上为上一个和下一个按钮添加相同的代码
- Javascript 添加下一个/前进和上一个/快带
- 如何将左/右箭头(下一个/上一个)功能添加到我的 jQuery 图像和文本滑块
- 将一个类添加到所有下一个元素,直到该类的子元素为止
- 如何在没有周末的情况下添加天数以从当前日期获取下一个日期
- 使用 jquery 将类添加到下一个元素
- 使用javascript和jquery将“下一个”和“上一个”按钮添加到来自JSON的HTML5音频播放器