.first('li)选择列表中第一个不起作用的项目
.first('li) select first item in the list not working
希望您能提供帮助,此代码不起作用。它正在选择下一个图像,但如果它在最后一个图像上,并且没有"下一个"图像,那么我想选择"li"中的第一个图像。我添加了一个if条件:if(nextLi.value!=='')。。。但这似乎不起作用。
function nextImg(){
$('#background').find('img').animate({'opacity': 0}, 500, function (){
var nextLi = $('.sel').parent().parent().next('li').find('a');
if (nextLi.value !=='') {
var nextLiA = nextLi.attr('rel');
$('#background').find('img').attr({'src':nextLiA});
$('.sel').appendTo(nextLi);
} else {
var nextLi = $('.sel').parent().parent().first('li').find('a');
var nextLiA = nextLi.attr('rel');
$('#background').find('img').attr({'src':nextLiA});
$('.sel').appendTo(nextLi);
}
});
}
您应该使用length
,执行:
if (!nextLi.length){
//do stuff
}
如果选择为空,则nextLi.length
将返回0(即false
),因此添加一个!
nextLi
是一个jQuery对象。如果你想看看它是否包含任何元素,也就是说,如果有任何元素与你使用的选择器匹配,那么只需检查它的.length
属性:
if (nextLi.length > 0 ) {
还请注意,if块内的三行与else的最后三行相同,因此您可以简化代码如下:
if (nextLi.length === 0) {
nextLi = $('.sel').parent().parent().first('li').find('a');
}
$('#background').find('img').attr({'src': nextLi.attr('rel') });
$('.sel').appendTo(nextLi);
(我已经完全删除了nextLia
变量,因为它只在一个地方使用-您可以在设置src
属性时直接使用nextLi.attr('rel')
。)
试试这个。它检查li
的大小,如果没有找到任何内容,则选择第一个。
function nextImg(){
$('#background').find('img').animate({'opacity': 0}, 500, function (){
var li = $('.sel').parent().parent().next('li').find('a');
if(li.length == 0) {
//if there is not last item
li = $('.sel').parent().parent().first('li').find('a'); //get the first item
}
var liA = li.attr('rel');
$('#background').find('img').attr({'src':liA});
$('.sel').appendTo(li);
});
}
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- IE11中的第二个调用取消了第一个Fetch API调用
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- RxJS油门行为;立即获取第一个值
- Angular UI网格:如何通过第一个UI网格中的按钮使第二个UI网格可见
- 获取列表中的第一个 DOM 元素
- 在JavaScript中查找数字对列表的最小第一个值
- 读取下拉列表中所选的值,而不读取第一个值
- 角度下拉列表不显示第一个值
- 从字符串列表中删除所有html标记,除了第一个
- 动态选择选项列表重置为第一个值
- JQuery - select val()只返回下拉列表的第一个值
- 使用onchange函数时,选择列表忽略第一个值,PHP, JAVASCRIPT
- 如何在元素的类定义列表中选择第一个类
- 克隆,删除列表项,但防止删除第一个,如果它'
- MVC下拉列表级联-如何在第一个ddl选择更改时在第三个ddl上触发事件
- 逗号操作符返回参数列表中的第一个值,而不是第二个值