javascript - 需要正则表达式来创建一个 id 数组
问题描述
嗨,这是我的问题。
<div id='whatever'>
<p id='1'> I am 5 years old </p>
<p id='3'> my mum is 40 years old </p>
<p id='7'> check out this number 7 </p>
<p id='8'> 78 99 46 </p>
</div>
elem = document.getElementById("whatever").innerHTML;
target_array = elem.match(/???????????/g);
// => target_array = [1,3,7,8]
我没有找到为我提供此 target_array 的正则表达式。
(\d) (我得到了很多) (\d)?=' (没用)
解决方案
当您可以通过遍历 DOM 来实现时,为什么要尝试使用 RegExp 来获取它:
var ids = Array.from(document.querySelectorAll('#whatever > p'))
.map(item => item.id);
console.log(ids);
<div id='whatever'>
<p id='1'> I am 5 years old </p>
<p id='3'> my mum is 40 years old </p>
<p id='7'> check out this number 7 </p>
<p id='8'> 78 99 46 </p>
</div>
推荐阅读
- java - 休眠 - 事务性不保存更改
- html - flex-shrink 仅将最宽的部分收缩到某个百分比,然后等量收缩
- google-apps-script - Apps 脚本:根据下拉列表中选择的选项移动行
- ios - Flutter webview 与 Angular 的双向通信
- arrays - 将元组作为键和值作为数组的字典转换为熊猫数据框
- button - 如何在 java vaadin 8 中显式地终止对象引用
- typescript - 如何键入函数参数“值”以始终匹配动态“键”参数的类型?
- python - 如何从python中的多处理模块获取当前正在运行的进程名称
- qt - Export as PDF UI Scene(QML)
- ethereum - 如何创建一个函数来获取所有详细信息的用户列表,例如地址、用户 ID、f 名称、l 名称、电子邮件 ID、已注册的私钥