当前位置: 首页 > 面试题库 >

使用JavaScript获取下一个/上一个元素?

佘单鹗
2023-03-14
问题内容

如何使用JavaScript获取HTML中的下一个元素

假设我有3个<div>s,并且在JavaScript代码中获得了对1的引用,我想获取哪个是下一个<div>,哪个是前一个。


问题答案:

在纯JavaScript中,我的想法是,您首先必须将它们归类到一个集合中。

var divs = document.getElementsByTagName("div");
//divs now contain each and every div element on the page
var selectionDiv = document.getElementById("MySecondDiv");

因此,基本上,通过selectionDiv遍历集合以查找其索引,然后显然是-1 =上一个+1 =下一个在范围内

for(var i = 0; i < divs.length;i++)
{
   if(divs[i] == selectionDiv)
   {
     var previous = divs[i - 1];
     var next = divs[i + 1];
   }
}

但是请注意,正如我所说的那样,将需要额外的逻辑来检查您是否在范围之内,即您不在集合的末尾或开始。

这也意味着您拥有一个嵌套有子div的div。下一个div不会是兄弟姐妹,而是孩子。因此,如果您只希望与目标div处于同一级别的兄弟姐妹,则必须使用nextSibling检查
tagName 属性。



 类似资料:
  • 是否有任何方法可以写入JSON路径,以基于前一个元素获取数组中下一个元素的值? JSON: 预期: 路径:$[0][如果匹配搜索文本]下一个|上一个 搜索文本:text 1输出(获取下一个值):值12输出(获取前一个值):值11 Searchtext:text2输出(获取下一个值):value22输出(获取上一个值):value21 我在用https://github.com/jayway/Jso

  • 问题内容: 假设我有ID为3、4、7、9的记录,并且我希望能够通过下一个/上一个链接导航到另一个。问题是,我不知道如何获取具有最近的较高ID的记录。 因此,当我有一个ID为4的记录时,我需要能够获取下一个现有记录,即7。查询可能看起来像 如何获取下一个/上一个记录而不获取整个结果集并手动进行迭代? 我正在使用MySQL 5。 问题答案: 下一个: 以前:

  • 问题内容: 说我有 ID的* 记录 * 我希望能够通过下一个/上一个链接导航到另一个。 问题是,我不知道 如何获取具有最近的较高ID的记录 。 因此,当我有一个 ID为ID 的记录时,我需要能够提取下一个现有记录,即为。 该查询可能看起来像 如何获取下一个/上一个记录而不获取整个结果集并手动迭代? 我正在使用MySQL 5。 问题答案: 下一个: 以前的:

  • 问题内容: 我有一个foreach循环,我想看看循环中是否存在下一个元素,以便可以将当前元素与下一个元素进行比较。我怎样才能做到这一点?我已经阅读了有关当前和下一个功能的信息,但我不知道如何使用它们。 提前致谢 问题答案: 一种独特的方法是反转阵列 然后 循环。这同样适用于非数字索引数组: 如果您仍然对使用和功能感兴趣,可以这样做: #2可能是最好的解决方案。注意,比较数组中的最后两项后,将停止循

  • 问题内容: 我有一个在HashMap上使用的迭代器,并且保存并加载了该迭代器。有没有办法用迭代器在HashMap中获取上一个密钥?(java.util.Iterator) 更新资料 我将其另存为Red5连接中的属性,然后将其重新加载以在我停止的地方继续工作。 另一个更新 我正在遍历HashMap的键集 问题答案: 正如其他人指出的那样,它并不直接,但是例如,如果您需要访问一个先前的元素,则可以轻松

  • 问题内容: 我在这里做错了什么? 我有一个 ,但在第一个上我想在顶部填充零,在第二个上我想没有底部边框。 我尝试为此首先和最后创建类,但我认为在某处错了: 和HTML 我猜不可能有两个不同的课程吗?如果可以,我该怎么做? 问题答案: 如果要在一个元素上使用两个类,请按以下方式进行操作: 像这样在css中引用它: