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

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

相关推荐
吴声子夜歌7 分钟前
JavaScript——函数
开发语言·javascript·ecmascript
SuperEugene12 分钟前
Vue3 + Element Plus 表单开发实战:防重复提交、校验、重置、loading 统一|表单与表格规范篇
前端·javascript·vue.js
SuperEugene14 分钟前
Vue3 + Element Plus 中后台弹窗规范:开闭、传参、回调,告别弹窗地狱|Vue 组件与模板规范篇
开发语言·前端·javascript·vue.js·前端框架
桜吹雪15 分钟前
在前端运行Qwen3.5原生多模态模型
前端·人工智能·机器学习
孟祥_成都16 分钟前
前端下午茶:这 3 个网页特效建议收藏(送源码)
前端·javascript·css
SuperEugene16 分钟前
VXE-Table 4.x 实战规范:列配置 + 合并单元格 + 虚拟滚动,避坑卡顿 / 错乱 / 合并失效|表单与表格规范篇
开发语言·前端·javascript·vue.js·前端框架·vxetable
火车叼位30 分钟前
Volta 下 `corepack` 失踪之谜:问题不在 Node,而在命令入口
前端
cmd33 分钟前
别再用错!5种JS类型判断方法,从原理到实战一文吃透
前端·javascript
小江的记录本36 分钟前
【Redis】Redis常用命令速查表(完整版)
java·前端·数据库·redis·后端·spring·缓存
Csvn41 分钟前
状态管理方案对比(Context、Zustand、Jotai 选型指南)
前端