jquery属性选择器[attribute=value]的问题
$("img").mouseenter(function (){ var bigimgsrc = $(this).attr('src'); var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index(); alert(liindex); });
登录后复制
问题是:liindex一直是-1;
那么我var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index();这一句话是哪里出问题了呢?请指点一下。
"[datasrc='" + bigimgsrc + "']"
登录后复制
我一般都习惯带对引号,还有开始没看清,变量你用拼接吧。
语法并没有错,检查一下是否拼写错误。index()找不到元素情况下返回-1,所以children这里的选择器拼写是否有错误?
<div> <img src="http://apeclass.cn/1212/img/photo_01.jpg"> <ul> <li data-src="http://apeclass.cn/1212/img/photo_01.jpg"></li> <li></li> <li></li> </ul> </div> <div> <img src="http://apeclass.cn/1212/img/photo_02.jpg"> <ul> <li></li> <li data-src="http://apeclass.cn/1212/img/photo_02.jpg"></li> <li></li> </ul> </div> <div> <img src="http://apeclass.cn/1212/img/photo_03.jpg"> <ul> <li></li> <li></li> <li data-src="http://apeclass.cn/1212/img/photo_03.jpg"></li> </ul> </div> <script> $('img').mouseenter(function() { var bigimgsrc = $(this).attr('src'), liindex = $(this).siblings('ul').children("[data-src='" + bigimgsrc + "']").index() alert(liindex ); }); </script>
登录后复制
说明$(this).siblings("ul").children("[datasrc=bigimgsrc]")没有选取到任何元素。
以上就是jquery选择器[attribute=value]出现的问题解决办法的详细内容,更多请关注Work网其它相关文章!