You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测指定类名的div是否存在相邻同级元素?(jQuery/原生JS)

我来帮你搞定这个问题!要检测类名为mydivclass的div是否有相邻(并排)的同级元素,不管是用原生JavaScript还是jQuery都有很直接的方案,下面给你一步步说明:

方法一:原生JavaScript实现

原生JS里可以通过previousElementSibling和nextElementSibling这两个属性来获取目标元素的前后相邻同级元素——注意这两个属性只会返回元素节点,会自动忽略文本、注释这类非元素节点,非常适合你的需求。

示例代码:

// 获取目标div元素
const targetDiv = document.querySelector('.mydivclass');

// 检测前面是否有相邻同级元素
const hasPreviousSibling = targetDiv.previousElementSibling !== null;
// 检测后面是否有相邻同级元素
const hasNextSibling = targetDiv.nextElementSibling !== null;

// 输出结果
console.log('前面是否有相邻元素:', hasPreviousSibling);
console.log('后面是否有相邻元素:', hasNextSibling);

// 如果需要进一步判断相邻元素是否是div(或者有特定类名)
if (targetDiv.nextElementSibling) {
  const isNextDiv = targetDiv.nextElementSibling.tagName === 'DIV';
  console.log('后面的相邻元素是div吗:', isNextDiv);
  // 检查是否有特定类名
  const hasSpecificClass = targetDiv.nextElementSibling.classList.contains('your-class-name');
  console.log('后面的相邻元素有指定类名吗:', hasSpecificClass);
}
方法二:jQuery实现

jQuery提供了.prev()和.next()方法,专门用来获取目标元素的前一个/后一个相邻同级元素,同样会自动过滤掉非元素节点,使用起来更简洁。

示例代码:

// 获取目标div的jQuery对象
const $targetDiv = $('.mydivclass');

// 检测前面是否有相邻同级元素
const hasPreviousSibling = $targetDiv.prev().length > 0;
// 检测后面是否有相邻同级元素
const hasNextSibling = $targetDiv.next().length > 0;

// 输出结果
console.log('前面是否有相邻元素:', hasPreviousSibling);
console.log('后面是否有相邻元素:', hasNextSibling);

// 如果要检测相邻元素是否有特定类名,可以直接在方法里传类名
const hasNextWithClass = $targetDiv.next('.your-class-name').length > 0;
console.log('后面的相邻元素有指定类名吗:', hasNextWithClass);

针对你给出的DOM结构:

<div class="mydivclass">Some Text1</div> <div class="am I beside mydivclass ???">Some Text2</div>

用上面的方法检测的话,hasNextSibling会返回true,因为.mydivclass的后面确实有一个相邻的div元素。

内容的提问来源于stack exchange,提问作者Miso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:05:26