如何将含yes的div中的姓名与号码分别存入两个独立数组?
没问题,我来帮你搞定这个需求!
解决方案
思路梳理
要实现把符合条件的div里的姓名和号码分别存入独立数组,我们可以按这几步来操作:
- 先初始化两个空数组,专门用来存姓名和号码
- 遍历页面上的所有div元素,筛选出内部包含文本为
yes的#nmme元素的div - 从筛选出来的div里提取姓名和号码(需要根据你的实际HTML结构调整对应选择器)
- 把提取到的内容分别push到对应的数组里
完整代码示例
$(document).ready(function() { $('#btn').on('click', function() { // 初始化两个空数组,用于存储姓名和号码 const nameList = []; const numberList = []; $('div').each(function() { // 定位当前div内的目标元素,判断文本是否为yes const targetEl = $(this).find('#nmme').eq(0); if (targetEl.text().trim() === 'yes') { // 保留你原有的高亮逻辑,标记符合条件的div $(this).css('background', 'red'); // 从当前div提取姓名和号码,请根据实际HTML替换选择器 // 示例假设姓名存在class为"username"的元素中,号码在class为"userphone"的元素中 const userName = $(this).find('.username').text().trim(); const userNumber = $(this).find('.userphone').text().trim(); // 将有效内容存入对应数组 if (userName) nameList.push(userName); if (userNumber) numberList.push(userNumber); } }); // 可选:打印数组验证结果 console.log('姓名数组:', nameList); console.log('号码数组:', numberList); }); });
<!-- 确保引入jQuery --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关键注意点
- 关于
#nmme选择器:HTML里ID是唯一标识,如果你有多个包含yes的元素,建议把#nmme改成类选择器(比如.nmme),避免DOM结构不符合规范。 - 姓名/号码的选择器:代码里的
.username和.userphone是示例,你需要替换成项目中对应姓名、号码元素的实际选择器(比如ID、class或者标签选择器)。 trim()的作用:用来去除文本前后的空格,避免因为多余空格导致判断错误,或者数组里存入无效的空内容。
内容的提问来源于stack exchange,提问作者Kjarlvi
相关产品推荐
相关产品推荐

