jqueryProblème avec le sélecteur d'attribut [attribute=value]
$("img").mouseenter(function (){ var bigimgsrc = $(this).attr('src'); var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index(); alert(liindex); });
Le problème est : liindex est toujours -1 ;
Alors, quel est le problème avec ma phrase var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index();? S'il vous plaît, donnez-moi quelques conseils.
"[datasrc='" + bigimgsrc + "']"
J'ai l'habitude d'utiliser des guillemets, mais je ne l'ai pas vu clairement au début Pour les variables, vous devriez utiliser l'épissage.
La grammaire n'est pas fausse, vérifiez les fautes d'orthographe. index() renvoie -1 si l'élément est introuvable, y a-t-il donc une faute de frappe dans le sélecteur pour les enfants ?
<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>
Explication $(this).siblings("ul").children("[datasrc=bigimgsrc]") n'a sélectionné aucun élément.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!