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

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 小时前
Promise知识点回顾
前端·javascript
行走的陀螺仪12 小时前
JavaScript 算法详解:10大经典算法,通俗易懂,从入门到精通
开发语言·javascript·算法
拓荒牛儿12 小时前
前端内存可观测实践
前端
yqcoder12 小时前
异步的魔法:深入解析 async/await 原理与编译本质
前端·javascript
iiiiyu12 小时前
面向对象和集合编程题
java·开发语言·前端·数据结构·算法·编程语言
taocarts_bidfans12 小时前
2026跨境SaaS工具选型指南:Taoify与Shopify/Shopyy/Ueeshop深度对比
java·前端·javascript·跨境电商·独立站
环信12 小时前
环信Flutter UIKit适配鸿蒙实战指南
前端
秋秋202312 小时前
做了个 AI 对话页面才发现,流式渲染没想象中那么简单
前端·aigc
环信12 小时前
HarmonyOS Flutter 键盘高度监听插件开发完全指南
前端
真夜12 小时前
开发正常但生产异常的 Bug:Vite manualChunks 循环依赖导致 ReferenceError
前端·前端框架·vite