循环通过元素,更改z索引,Javascript
我有一组可以通过jquery拖动的元素。所有可拖动的元素都属于“element”类 每次移动一个元素时,我都希望遍历所有元素,并将z索引更改为5,然后将被拖动的元素z索引更改为10,以便拖动的元素始终位于顶部 这是我目前拥有的,但它不起作用循环通过元素,更改z索引,Javascript,javascript,jquery,html,css,z-index,Javascript,Jquery,Html,Css,Z Index,我有一组可以通过jquery拖动的元素。所有可拖动的元素都属于“element”类 每次移动一个元素时,我都希望遍历所有元素,并将z索引更改为5,然后将被拖动的元素z索引更改为10,以便拖动的元素始终位于顶部 这是我目前拥有的,但它不起作用 mousedown(function(){ var myObj = document.getElementsByClassName('element'); for(var i =0, il = myObj.length; i&
mousedown(function(){
var myObj = document.getElementsByClassName('element');
for(var i =0, il = myObj.length; i<il; i++){
myObj[i].style.zIndex='5';
}
$(this).style.zIndex='10';
})
mousedown(函数(){
var myObj=document.getElementsByClassName('element');
for(var i=0,il=myObj.length;i$(this)
指的是jQuery对象,而不是文档对象。请改用this.style.zIndex=“10”
由于您没有调用任何jQuery,因此没有要引用的$(this)
。$(this)
引用的是jQuery对象,而不是文档对象。请改用this.style.zIndex=“10”
由于您没有调用任何jQuery,因此没有要引用的$(this)
。没有看到css的其余部分和元素结构,这是不可能的,但是您所做的一切都可以写成
$('.element').not(this).css('zIndex', 5);
$(this).css('zIndex', 10);
//or this.style.zIndex='10';
style
属性属于dom元素,$(this)指的是this
引用的dom元素的jQuery包装器。因此,您可以直接使用this.style
设置style属性,也可以使用
此外,您还可以使用类选择器选择和更改所有元素zIndex,而不是自己编写循环,而不查看css和元素结构的其余部分。这是不可能的,但您所做的一切都可以编写为
$('.element').not(this).css('zIndex', 5);
$(this).css('zIndex', 10);
//or this.style.zIndex='10';
style
属性属于dom元素,$(this)指的是this
引用的dom元素的jQuery包装器。因此,您可以直接使用this.style
设置style属性,也可以使用
您也可以使用类选择器来选择和更改所有元素zIndex,而不是自己编写循环它应该是this.style.zIndex='10';
如果是我,我会保持z索引不变,并对dom重新排序,以便将最后一个拖动的元素移到末尾,从而位于顶部。这样,其他dra的堆叠顺序就会改变gging元素保持不变,假设非拖动元素可以重叠。它应该是this.style.zIndex='10';
如果是我,我会保持z索引不变,并对dom重新排序,以便最后拖动的元素移到末尾,从而位于顶部。这样,其他拖动元素的堆叠顺序保持不变,假设e非拖动元素可以重叠。+1虽然可能更短;)没有真正的理由做。不(this)
当您覆盖下一行上的值时。+1虽然可能更短;)没有真正的理由做。不(this)
当您覆盖下一行上的值时。