我在另一个函数中使用函数时遇到了问题,但它仍然无法与人们告诉我的父母和孩子一起工作。
你有什么想法吗?
this.suiv.click(function () {
this.div.parent.children(".crea").each(function () {
//self.index=parseInt($(this).css("z-index"));
alert("wesh2");
}
});
编辑: 以下是我使用页面时实际发生的更多细节。 点击" suiv"工作正常,但问题似乎来自第二个功能" crea"。即使我使用" parentElement"或者"父母"或者" _这个"警报不会弹出。
编辑2: 这是HTML:
<div class="galerie">
<div class="slider">
<div class="crea" style="z-index: 9"><img src="img.jpg"></div>
<div class="crea" style="z-index: 8"><img src="img.jpg"></div>
<div class="crea" style="z-index: 7"><img src="img.jpg"></div>
<div class="crea" style="z-index: 6"><img src="img.jpg"></div>
<div class="crea" style="z-index: 5"><img src="img.jpg"></div>
<div class="crea" style="z-index: 4"><img src="img.jpg"></div>
<div class="crea" style="z-index: 3" ><img src="img.jpg"></div>
<div class="crea" style="z-index: 2"><img src="img.jpg"></div>
<div class="crea" style="z-index: 1"><img src="img.jpg"></div>
</div>
<div class="suiv"></div>
<div class="prec"></div>
</div>
这是我的完整脚本:
$(document).ready(function(){
s = new slider(".galerie");
});
var slider = function(id){
var self=this;
this.div = $(id);
this.nb=0;
this.index=0;
this.div.find(".crea").each(function(){
self.nb++;
//alert($(this).css("z-index"));
});
alert(this.nb);
this.index = 0;
this.suiv = this.div.find(".suiv");
this.prec = this.div.find(".prec");
_this=this
this.suiv.click(function () {
_this.div.parent().children(".crea").each(function () {
//self.index=parseInt($(this).css("z-index"));
alert("wesh2");
});
});
}
答案 0 :(得分:0)
尝试在选择器中使用parentElement
代替parent
答案 1 :(得分:0)
语法错误。
this.suiv.click(function () {
this.div.parent.children(".crea").each(function () {
//self.index=parseInt($(this).css("z-index"));
alert("wesh2");
});
// ^
});
答案 2 :(得分:0)
我猜您必须在按“suiv”或“prec”
时更改图像为什么不这样呢
$('.suiv').on("click").function(){
$('.crea').each(function () {
$(this).html(itemarrayofimages);
});
});
答案 3 :(得分:-1)
试试这个:
_this=this
this.suiv.click(function () {
_this.div.parent().children(".crea").each(function () {
//self.index=parseInt($(this).css("z-index"));
alert("wesh2");
});
});
所以,当你说这个.div.parent你指的是&#34;这个&#34;作为具有您调用div的属性的对象。但是在单击处理程序中,这将引用实际元素。所以我认为人们可能告诉你要做的是
this.parent.children(
不
this.div.parent.children(
因为处理程序中的这个对象是单击的对象,所以它的父对象是包含你想要使用的其他兄弟的对象。
Javascript&#39; s this
在进行&#34;类&#34;时会感到困惑。所以你写道:
var myclass=function(){
this.abc="hi"
this.doStuff=function(){
_this=this; // "this" is still myClass
//but this will be overwritten in a jquery event handler
//so you'll want to store "this" for use in event handlers
$('div').click(function(){console.log(this, _this)});
}
};