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]出现的问题解决办法的详细内容。