检查元素内部是否存在具有特定类名的子元素的方法

html 复制代码
const jobList = document.querySelectorAll('.js-joblist');

const jobListDataId = Array.from(jobList).map(getDataId);


function getDataId(element) {
		// 只返回有按钮的 data-msgkey 值
		const hasInfoBtnItemSelcted = element.querySelector('.info-btn-item-selcted') !== null;
		return hasInfoBtnItemSelcted ? element.getAttribute('data-msgkey') : null;
	}

代码用途总结

这段代码的主要功能是从网页中筛选带有特定标记的工作列表项,并提取它们的data-msgkey属性值。

代码逻辑解析

const jobList = document.querySelectorAll('.js-joblist');

选取所有类名为js-joblist的DOM元素,返回一个NodeList对象。

const jobListDataId = Array.from(jobList).map(getDataId);

将NodeList转换为数组,并对每个元素调用getDataId函数进行处理。

function getDataId(element)

定义的处理函数,检查元素是否包含.info-btn-item-selcted子元素。

若存在则返回元素的data-msgkey属性值,否则返回null。

最终结果

最终得到的jobListDataId是一个数组,包含所有符合条件(有.info-btn-item-selcted子元素)的.js-joblist元素的data-msgkey值,不符合条件的元素对应位置为null。

相关推荐
优选资讯11 分钟前
标签打印软件怎么对接 Excel 数据
前端·excel
思无邪6644 分钟前
用 AI 做 JS 逆向:从抓包到复现的完整方法论
开发语言·javascript·人工智能
一个风轻云淡1 小时前
GCC 和 GDB命令简单解读
java·linux·前端
u0111026752 小时前
图片处理接口如何统一错误信息 前端提示与后端错误码设计
前端·状态模式
福兮说2 小时前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
libokaifa2 小时前
把语音模型塞进手机:sherpa-onnx 在 Android 上的 ASR / TTS
前端
deli0073 小时前
DLA 枝晶生长实测:5000 个粒子集体停摆之后,分形维数收敛到 1.70
前端
IT_陈寒3 小时前
Redis卡顿的锅,这次真不是大key的错
前端·人工智能·后端
可乐鸡翅yeah_3 小时前
video.js 集成 hls.js 开发 M3U8 播放器,新手高频踩坑
开发语言·前端·javascript·后端·ecmascript·m3u8·音视频在线播放
程序猿追4 小时前
HarmonyOS 6 上做个极简浏览器:Web 组件 + 前进后退 + 加载进度
前端·华为·harmonyos