Heim > Artikel > Web-Frontend > Lösungen für Probleme mit dem JQuery-Selektor [Attribut=Wert]
jqueryProblem mit dem Attributselektor [attribute=value]
$("img").mouseenter(function (){ var bigimgsrc = $(this).attr('src'); var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index(); alert(liindex); });
Das Problem ist: liindex ist immer -1;
Was stimmt also nicht mit meinem Satz var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index();? Bitte geben Sie mir einen Rat.
"[datasrc='" + bigimgsrc + "']"
Ich bin es normalerweise gewohnt, Anführungszeichen zu verwenden, aber ich habe es zunächst nicht klar gesehen. Für Variablen sollten Sie Spleißen verwenden.
Die Grammatik ist nicht falsch, prüfen Sie auf Rechtschreibfehler. index() gibt -1 zurück, wenn das Element nicht gefunden werden kann. Liegt also ein Tippfehler im Selektor für Kinder vor?
<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>
Erklärung $(this).siblings("ul").children("[datasrc=bigimgsrc]") hat kein Element ausgewählt.
Das obige ist der detaillierte Inhalt vonLösungen für Probleme mit dem JQuery-Selektor [Attribut=Wert]. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!