如何将 'important' 添加到 zIndex

How to add 'important' to zIndex

我网站上的一些加载项之间存在冲突。使用 Firebug,我注意到如果我将“!important”添加到 z-index,我可以避免冲突。

但 z-index 值是使用 JavaScript 而不是 CSS

设置的

那么如何在以下 JS 代码中添加“!important”:

this.menu = $("<ul>")
   .addClass("ui-autocomplete")
   .appendTo(this.document.find(this.options.appendTo || "body")[0])
   .zIndex(this.element.zIndex() + 1)  // !! <- here // !!
   .hide()
   .data("menu");

编辑:根据建议的答案 [How to apply !important using .css()? ] 我知道我需要添加以下代码 -

if (XXX.style.setProperty) {  // IE 9- does not support...
    XXX.style.setProperty ("z-index", (this???.element.zIndex() + 1), "important");
  }

如何添加:在我的案例中 XXX 是什么?和 "this" ?

编辑 2:因为它变成了 jQuery 语法问题,所以我在 -

中用不同的标签问了它

试试这个。

.zIndex(this.element.zIndex() + 1 + '!important')

为什么不使用 css 呢?例如

this.menu = $('<ul class="high-zindex">')....

然后定义.high-zindex { z-index: 9999 !important }

我想我明白了

this.menu = $("<ul>")
   .addClass("ui-autocomplete")
   .appendTo(this.document.find(this.options.appendTo || "body")[0])
//   .zIndex(this.element.zIndex() + 1)  // !! <- here // !!
   .style.setProperty ("zIndex", zIndex()+1, "important");
   .hide()
   .data("menu");

我在另一个线程中收到了答案 -

使用-

.each(function() {
    this.style.cssText+= 'z-index: '+(parseInt($(this).css('z-index'))+1)+' !important';
  })

但是在与几个函数中的代码斗争之后,我更愿意向这个 class 添加一个 class 和一个规则 -

this.menu = $("<ul>")
  .addClass("ui-autocomplete")
  .addClass("ui-autocomplete-hover-header")  // !! added!
. . .

.ui-autocomplete.ui-autocomplete-hover-header {  
  z-index: 5004 !important; }