【问题标题】:Depth Property in JS?JS中的深度属性?
【发布时间】:2012-05-19 10:52:32
【问题描述】:

假设我有这个 html 代码:

<div>
 <a>
    <span id="a"> </span>
 </a>
</div>

我的问题:

有没有暴露元素深度的js property

类似:

$("#a").prop ("depth") //3+3=6   +body+form+html   jquery selector is just for example.

附言我知道如何计算深度。我的问题是关于现有财产的。

【问题讨论】:

  • 所以你不把&lt;html&gt;&lt;body&gt;算入深度?

标签: javascript html dom


【解决方案1】:

你可以这样做:

$('#a').first().parents().length

根据 zzzzBov 的评论编辑。

【讨论】:

  • 太好了,无法阅读我的问题:js property ** && **p.s.我知道如何计算深度。我的问题是关于现有财产的。
  • ...用于单个选择。对于选择中的多个项目,这将返回错误的值。你可能想要$(..selector..).first().parents().length
  • 吹毛求疵:OP 似乎在他对“深度”的定义中也包含了元素本身。
  • 没错,你可以在长度上加 1 来抵消它。
  • @pimvdb, $(..selector..).first().parents().andSelf().length
【解决方案2】:

有没有暴露元素深度的js属性?

不是内置的,不。您总是可以使用defineGetterdefineSetter 制作一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-21
    • 2015-04-25
    • 2020-07-05
    • 2015-02-20
    • 2021-11-01
    • 2013-05-10
    • 2014-06-10
    相关资源
    最近更新 更多