我有一组可以用jquery拖动的元素。所有可拖动元素都属于“元素”类。
每次移动一个元素时,我想遍历所有元素并将z-index更改为5,然后将被拖动的元素z-index更改为10,这样拖动的元素将始终位于顶部。
这就是我目前所拥有的,但它不起作用。
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';
})
如何强制$(this)
显示在element
类的所有其他元素之上?
答案 0 :(得分:3)
$(this)
指的是jQuery对象,而不是文档对象。请改用this.style.zIndex="10";
。
由于您没有调用任何jQuery,因此无法引用$(this)
!
答案 1 :(得分:1)
没有看到css和元素结构的其余部分是不可能的,但无论你做了什么都可以写成
$('.element').not(this).css('zIndex', 5);
$(this).css('zIndex', 10);
//or this.style.zIndex='10';
style
属性属于dom元素,$(this)指的是this
引用的dom元素的jQuery包装器。因此,您可以使用this.style
直接设置样式属性,也可以使用.css()执行此操作。
您也可以使用类选择器来选择和更改所有元素zIndex而不是自己编写循环