【问题标题】:Can't change z-index with JQuery无法使用 JQuery 更改 z-index
【发布时间】:2021-08-20 17:02:47
【问题描述】:

由于某种原因,我无法使用 jQuery 更改元素的 zIndex。我搜索了所有这个网站和谷歌,但找不到正确的答案。 单击按钮时,我试图将我的元素放在另一个 div 前面。我使用了您可以在此处看到的代码。但是没用。

  $(this).parent().css('zIndex',3000);

开头元素的CSS代码:

#wall{
    width:100%;
    height:700px;
    position: absolute;
    top:500px;
    background: #11c1e7;
    opacity: 0.6;
    z-index: 900;
    }

应该在此之上的元素的 CSS 代码:

.port1 {
width:200px;
height:200px;
left:<?php echo rand(1,1000); ?>px;
top:-500px;
border-radius: 500px;
background:red;
position:absolute;
z-index: 10;
}

有谁知道我该如何解决这个问题?

// 编辑

网站链接: http://dannypostma.com/project/j.php

点击组合球时,两个球从空中落下。单击时,它们应该在水的前面。

【问题讨论】:

  • 欢迎来到 SO,来点 HTML 怎么样?
  • 谢谢!我已将 URL 添加到包含错误的页面。

标签: javascript jquery z-index


【解决方案1】:

设置style.zIndex 属性对非定位元素没有影响,即元素必须是绝对定位、相对定位或固定的。

所以我会尝试:

$(this).parent().css('position', 'relative');
$(this).parent().css('z-index', 3000);

【讨论】:

  • 确实...问题出现在所有浏览器上,还是只出现在一个浏览器上?
  • Safari 和 Chrome 都有同样的问题。
  • 你的把戏确实有效!解决了这个问题,只是改变了它的 z-index 水。非常感谢!
  • 就像给像我这样愚蠢的人的便条;我写错了行(选择器)并将z-index 设置为正文而不是我想要的元素。当我看到身体一直显示 2147483647 z-index 时,我应该点击一下。哦,好吧。
  • 截至 2017 年,这是我在 Chrome 中遇到困难的正确原因。添加了relative 位置,效果很好。
【解决方案2】:

这是无效的 Javascript 语法;属性名称不能有 -

使用zIndex"z-index"

【讨论】:

    【解决方案3】:
    $(this).parent().css('z-index',3000);
    

    【讨论】:

    • zIndexz-index之间的区别与问题无关,至少与最近版本的jQuery无关
    • 你确定你的选择器 Danny,试试 $('#wall').css('z-index',3000)
    • 出于某种原因,即使这样也行不通。就像 jQuery 完全忽略了这一行
    • 我实际上并不想针对#wall css,但我可以这样做。现在使用 Luc1245 技巧就像一个魅力,谢谢提醒!
    • JavaScript 区分大小写,所以它是 z-index
    【解决方案4】:

    因为你的 jQuery 代码是错误的。 正确的应该是:

    var theParent = $(this).parent().get(0); 
    $(theParent).css('z-index', 3000);
    

    【讨论】:

    • 由于某种原因,这也不起作用。什么都没有改变。
    • 尝试检查父变量,如果它是您要查找的 HTML 节点对象。您也可以考虑使用 jsbin.com 或其他服务来向我们展示到底发生了什么。
    【解决方案5】:

    zIndex 是 javaScript 表示法的一部分。(camelCase)
    但 jQuery.css 使用与 CSS 语法相同的语法。
    所以是z-index

    你忘记了 .css("attr","value")。在 attr 和 val 中都使用 ' 或 "。所以, .css("z-index","3000");

    【讨论】:

    • 好吧,我在某处读到过。不过,$("body").css("borderRight","thin solid black");$("body").css("border-right","thin solid red"); 都有效,所以我认为 zIndexz-index 也应该。
    • 将上面的评论与答案中的最后一行结合起来瞧!
    • 不能为我解决问题。我添加了发生问题的站点。希望能有所帮助。
    • port1 有 parent= 端口?我应该点击什么div?应该改变什么 div?
    • 点击投资组合球会掉落 2 个球。当您将它们悬停时,会出现两个球。单击右侧时,球会下沉并变大。我遇到的问题出在代码的同一部分。虽然它应该正确选择父级,因为它也会下沉球。
    【解决方案6】:

    z-index 必须是整数。所以尝试使用 parseInt(): $element.css({"z-index", parseInt(z)});

    【讨论】:

    • OP 实际上写了一个字面整数。我猜应该没问题。
    猜你喜欢
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2012-08-23
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    相关资源
    最近更新 更多