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]出現的問題解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!