GVKun编程网logo

javascript – 如何在原型中获取元素的子索引(原生js获取子元素)

14

如果您想了解javascript–如何在原型中获取元素的子索引和原生js获取子元素的知识,那么本篇文章将是您的不二之选。我们将深入剖析javascript–如何在原型中获取元素的子索引的各个方面,并为

如果您想了解javascript – 如何在原型中获取元素的子索引原生js获取子元素的知识,那么本篇文章将是您的不二之选。我们将深入剖析javascript – 如何在原型中获取元素的子索引的各个方面,并为您解答原生js获取子元素的疑在这篇文章中,我们将为您介绍javascript – 如何在原型中获取元素的子索引的相关知识,同时也会详细的解释原生js获取子元素的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

javascript – 如何在原型中获取元素的子索引(原生js获取子元素)

javascript – 如何在原型中获取元素的子索引(原生js获取子元素)

如果我有这样的结构:

<ul>
   <lihttps://www.jb51.cc/tag/IoU/" target="_blank">IoUs">Golden DelicIoUs</li>
   <li>Mutsu</li>
   <li>McIntosh</li>
   <li>Ida Red</li>
</ul>

和一个选择器

$$('li.mutsu')[0]

返回一个元素,如何在其父子集合中获取该元素的索引?我需要li.mutsu的索引值“1”.

解决方法

你可以使用.prevIoUsSiblings().size()

Javascript HTML:如何获取元素相对于其父元素的位置?

Javascript HTML:如何获取元素相对于其父元素的位置?

如何解决Javascript HTML:如何获取元素相对于其父元素的位置??

如何获取元素相对于其父元素的位置(左侧和顶部)?

注意:父 position 既不是 relative 也不是 absolute,所以 offsetLeft & offsetTop 不起作用。

父/子可能有边距/边框/填充。

只有 Vanilla JS,没有 jquery。

解决方法

您可以使用 .getBoundingClientRect() 返回元素相对于视口的位置。因此,您可以使用 .getBoundingClientRect() 获取元素和父元素的位置,并从中计算元素相对于父元素的位置。看看下面的答案。

Element''s coordinates relative to its parent

,

您可以通过 window.getComputedStyle 和 vanilla js 选择器获取样式。

function getStyleProp(elem,prop){
    if(window.getComputedStyle)
        return window.getComputedStyle(elem,null).getPropertyValue(prop);
    else if(elem.currentStyle) return elem.currentStyle[prop]; //IE
}


elem = document.getElementById("id")
console.log(getStyleProp(elem,"top"))
console.log(getStyleProp(elem,"left"))

由 Rob W 编写的原始函数

源代码:Read CSS property of an element using JavaScript

javascript – 在jQuery中获取元素的父元素

javascript – 在jQuery中获取元素的父元素

参见英文答案 > Are ‘Arrow Functions’ and ‘Functions’ equivalent / exchangeable?                                    3个
我完全被这个难过了.我在页面上有三个元素,带有.topic-link类.

<div id="parent1">
  <a href="#"></a>
</div>
<div id="parent2">
  <a href="#"></a>
</div>
<div id="parent3">
  <a href="#"></a>
</div>

我可以运行$(‘.topic-link’).eq(0).parent();在JS控制台中获取正确的父级返回.但是当我遍历它们时,我每次都得到一个空对象.

$('.topic-link').each( () => {
  console.log($(this).parent());
});

// returns 3 empty objects

解决方法

箭头功能没有自己的这个,所以你拥有的并不等同于

$('.topic-link').each(function () {
  console.log($(this).parent());
});

在您的情况下,这是没有父dom节点的窗口(或文档或任何取决于调用范围的内容)

javascript – 如何在angularjs填充后获取元素的高度?

javascript – 如何在angularjs填充后获取元素的高度?

我正在做一个$http.get来获取json数据,然后用它来填充视图

$scope.getIdeas = function() {
  $http.get(ideasUrl)
    .success(function(data) {
      $scope.ideas = data;
      console.log($(".ideas-list").height()); // No height yet =(
    })
};

然后填充视图

<ul ng-cloakng-init="getIdeas()">
  <ling-repeat="idea in ideas"
    >{{idea.text}}</li>
</ul>

但是,在成功调用中,.ideas-list还没有高度.我在哪里可以获得填充的视图高度?我可以参加一个活动吗?

解决方法

使用setTimeout(或最好是$timeout服务),以便Angular可以在检查高度之前更改dom:

$scope.getIdeas = function() {
  $http.get(ideasUrl)
    .success(function(data) {
      $scope.ideas = data;
      $timeout(function(){
        console.log($(".ideas-list").height());
      });
  })
};

javascript – 如何在Firebase中获取元素/列表的大小而不是全部?

javascript – 如何在Firebase中获取元素/列表的大小而不是全部?

我需要在Firebase中测量元素或列表的大小/长度,但我不需要真正的内容.

像firebase.database().ref(“users /”).once(“length”||“size”).然后(回调)

ps Javascript SDK

解决方法

Firebase没有计数运算符,因此唯一的方法是下载所有子项或保持单独的< children> _count属性同步.后者不是一项微不足道的任务(参见我的 answer here for one approach),因此大多数情况下开发人员可能最终会采用下载过多的数据而非简单的方法:

ref.child("messages").on("value",function(snapshot) {
  console.log("There are "+snapshot.numChildren()+" messages");
})

计运算符项的一种更有效的方法是使用shallow = true参数激活REST调用,这将为您提供密钥.见In Firebase,is there a way to get the number of children of a node without loading all the node data?

今天关于javascript – 如何在原型中获取元素的子索引原生js获取子元素的介绍到此结束,谢谢您的阅读,有关Javascript HTML:如何获取元素相对于其父元素的位置?、javascript – 在jQuery中获取元素的父元素、javascript – 如何在angularjs填充后获取元素的高度?、javascript – 如何在Firebase中获取元素/列表的大小而不是全部?等更多相关知识的信息可以在本站进行查询。

本文标签: