$("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 + "']"
평소에 따옴표를 사용하는데, 처음에는 잘 안 보이더라구요. Variables스플라이싱을 사용해야 합니다.
문법이 틀린 것은 아닙니다. 철자 오류가 있는지 확인하세요. index()는 요소를 찾을 수 없으면 -1을 반환합니다. 그러면 하위 항목 선택기에 오타가 있습니까?
<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 선택기 [속성=값] 문제에 대한 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!