如何添加';如果';到jQuery链码

如何添加';如果';到jQuery链码,jquery,z-index,Jquery,Z Index,我需要换掉我的第四行- this.menu = $("<ul>") .addClass("ui-autocomplete") .appendTo(this.document.find(this.options.appendTo || "body")[0]) .zIndex(this.element.zIndex() + 1) // !! <- here // !! .hide() .data("menu"); 如何合并此代码 在我的例子中,“

我需要换掉我的第四行-

this.menu = $("<ul>")
   .addClass("ui-autocomplete")
   .appendTo(this.document.find(this.options.appendTo || "body")[0])
   .zIndex(this.element.zIndex() + 1)  // !! <- here // !!
   .hide()
   .data("menu");
  • 如何合并此代码
  • 在我的例子中,“XXX”是什么
  • “这”是什么
[与之相关]

这应该可以做到:

this.menu = $("<ul>")
  .addClass("ui-autocomplete")
  .appendTo(this.document.find(this.options.appendTo || "body")[0])
  .each(function() {
    this.style.cssText+= 'z-index: '+(parseInt($(this).css('z-index'))+1)+' !important';
  })
  .hide()
  .data("menu");
this.menu=$(“
    ”) .addClass(“ui自动完成”) .appendTo(this.document.find(this.options.appendTo | | |“body”)[0]) .each(函数({ this.style.cssText+='z-index:'+(parseInt($(this.css('z-index'))+1)+'!重要'; }) .hide() .数据(“菜单”);
FYI,
z-index
受IE6支持,尽管有一些问题,您只需使用
.css()
设置属性即可。不支持它的浏览器只会忽略它。我更关心的是完全无效的语法,比如有
zIndex
函数,并且在本机DOM节点上调用
find
appendTo
等。旧浏览器不支持setProperty()。css()无法添加所需的“重要”优先级谢谢。[this.element]是否等于[$(this)]?新的zIndex应该比[this.element]
高一个。this
本身就是DOM元素,您可以对其应用DOM方法和属性,例如
style
$(this)
允许您在DOM元素上调用jQuery方法,但它不允许您访问DOM方法和属性。因此,在原始代码[.zIndex(this.element.zIndex()+1)]中,它表示increment[b]my self[b]zIndex。与其[b]父[b]zIndex不相关?正确
each()
方法中的这个指的是新创建的
ul
元素。如果您可以发布一个包含所有代码的小提琴或链接,我可以确认它是否有效。
this.menu = $("<ul>")
  .addClass("ui-autocomplete")
  .appendTo(this.document.find(this.options.appendTo || "body")[0])
  .each(function() {
    this.style.cssText+= 'z-index: '+(parseInt($(this).css('z-index'))+1)+' !important';
  })
  .hide()
  .data("menu");