js怎么获取一个元素

js怎么获取一个元素,第1张

JS认为HTML文件会被浏览器解析为文档流,写在HTML里面的所有标签元素都可以从文档流中读取到。基于这个理论,JS定义了一个document对象,专门用来处理文档流。

要想获取一个元素,有两种方式:一种是根据元素的类名(class属性值),另一种是根据元素的ID。假设有一个input元素,JS获取该元素的方式如下:

<input class="isInput" id="input_first">

var element=documentgetElementByClass("isInput")[0];或者

var element=documentgetElementById("input_first");

需要注意的是,根据类名获取到的是一个数组,必须要通过下标才能获取到具体的某个元素。而根据ID获取到的则是具体的元素,所以常用的方式是用ID来获取。

findIndex它会返回数组中满足提供的函数的第一个元素的索引,否则返回 -1

跟findIndex差不多,只不过是倒序查找

观察可以知道findIndex 和findLastIndex的实现原理基本相同,区别只在于查找顺讯,那么如何通过实现一个函数,通过不同的传参来判断是使用findIndex还是findLastIndex呢?

实现:

新的需求:如何在一个排好序的数组中找到 value 对应的位置,保证插入数组后,依然保持有序的状态?

比如: sortedIndex([10, 20, 30], 25); // 2

如果是有序数组,那我们就不采用遍历的形式,采用二分法

看上去不错,基本实现了我们的要求,但还不够好,如果我想实现下面这种情况要怎么处理?

进阶实现:

现在尝试手写一个indexOf/lastIndexOf

indexOf和lastIndexOf都支持第二个参数fromIndex表示开始查找的位置。

在MDN上对fromIndex的解释如下:

fromIndex

开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0

比如:

fromIndex

从此位置开始逆向查找。默认为数组的长度减 1(arrlength - 1),即整个数组都被查找。如果该值大于或等于数组的长度,则整个数组会被查找。如果为负值,将其视为从数组末尾向前的偏移。即使该值为负,数组仍然会被从后向前查找。如果该值为负时,其绝对值大于数组长度,则方法返回 -1,即数组不会被查找。

根据以上规则,我们实现第二版

主要围绕下面两点进行

根据以上要求,看下最终实现方法

看你的span 是怎么生成的,

动态生成的话,比如:

for (i=0;i<5;i++)

documentwrite("<span id='s"+i+"' onclick='f("+i+")'>Span "+i+"</span>")

再写个f(n) 函数, 通过参数n来判断就行了嘛

以上就是关于js怎么获取一个元素全部的内容,包括:js怎么获取一个元素、JS查找数组指定元素、JS如何获取标签集合中某个标签的上一个标签索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9350612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存