【问题标题】:Empty object returns false on checking [duplicate]空对象在检查时返回 false [重复]
【发布时间】:2014-07-25 06:50:19
【问题描述】:

我正在尝试检查 DOM 中是否存在 div:

$("#mydiv") //returns []
$.isEmptyObject($("#mydiv")) //returns false
$.isEmptyObject([]) //returns true

知道我做错了什么吗?
另外,检查 DOM 中元素是否存在的最佳方法是什么?

【问题讨论】:

    标签: javascript jquery object dom


    【解决方案1】:

    在 jquery 中检查.length

    if($("#mydiv").length > 0)
    

    if($(document).find("#mydiv").length > 0)
    

    【讨论】:

    • OP 在问为什么他的代码没有工作..?对此有任何想法,这将有助于我们了解$.isEmptyObject() 谢谢。
    • 非常感谢,工作正常。但是知道为什么另一个没有工作吗?似乎等价,但显然不是
    • 天哪,第二个没有任何意义,简单的 id 选择器就足够了..
    • @RajaprabhuAravindasamy - OP 要求检查 DOM 中是否存在 div:
    • 我主要是问我在上面做错了什么:) 如果它具有误导性,也许我应该纠正一些东西,但我真的很想知道为什么它不像我那样工作跨度>
    【解决方案2】:

    isEmptyObject 不用于检查对象是否包含其他对象。用于检查对象是否具有属性。

    $.isEmptyObject($("#mydiv")) 返回 false,因为您可以在此对象上调用很多属性

    $("#mydiv").html()
    $("#mydiv").text()
    // etc
    

    正如其他人所说,如果您想查看对象是否存在于 DOM 中,请使用 length 属性

    【讨论】:

      猜你喜欢
      • 2017-03-13
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 2021-01-30
      • 2017-09-05
      • 1970-01-01
      • 2020-03-06
      • 2017-06-28
      相关资源
      最近更新 更多