如何获取session-*序列meta标签中编号最大的标签的content值
实现方案
思路说明
- 第一步:匹配所有name前缀为
session-的meta标签 - 第二步:遍历所有匹配的标签,提取name中的编号值转换为数字类型
- 第三步:记录最大编号对应的标签,最终获取其content属性值
jQuery实现(适用你已引入jQuery的场景)
// 匹配所有name以session-开头的meta标签 const sessionMetas = $('meta[name^="session-"]'); let maxNum = 0; let targetContent = ''; sessionMetas.each(function() { // 从name属性中拆分出编号,转为数字类型 const currentNum = parseInt($(this).attr('name').split('-')[1], 10); // 若当前编号大于已记录的最大值,更新最大值和对应content if (currentNum > maxNum) { maxNum = currentNum; targetContent = $(this).attr('content'); } }); // 示例场景下targetContent输出结果为third console.log(targetContent);
原生JavaScript实现(无需依赖jQuery)
const sessionMetas = document.querySelectorAll('meta[name^="session-"]'); let maxNum = 0; let targetContent = ''; sessionMetas.forEach(meta => { const currentNum = parseInt(meta.name.split('-')[1], 10); if (currentNum > maxNum) { maxNum = currentNum; targetContent = meta.content; } }); console.log(targetContent);
注意:即使标签没有按编号顺序排列、或是编号存在缺失,以上代码都可以正常识别到最大编号的对应值。
内容的提问来源于stack exchange,提问作者Yan Mak
相关产品推荐
相关产品推荐

