javascript - 如何获得元素的零件?
问题描述
我现在正在为一个事件过程的网站做结构化数据,这个网站的信息如下:
<div class="schedule">
<p><span class="fwb">Date</span>: 22-Nov(Friday) 15:00-17:00</p>
<p><span class="fwb">Location</span>: ABC Street</p>
</div>
我想使用该getElement
方法为startDate
"startDate": "{{data}}" -->
"startDate": "2019-11-22T15:00"
我预计 11 月 22 日(星期五)15:00-17:00 的输出为 2019-11-22T15:00
"streetAddress": "{{data}}" --->
"streetAddress": "ABC Street"
等等
有可能的?非常感谢
*备注:我无权更改源页面,因为我只是一个谷歌标签管理器管理员
解决方案
- 使用正则表达式查找日期和地址(以 : 开头,以换行符结尾)
- 使用 toISOString() 方法转换日期
let data=document.querySelector(".schedule").innerHTML
let patt=/:.*/
let startDate=data.split('</p>')[0].match(patt)[0].slice(2)
let address=data.split('</p>')[1].match(patt)[0].slice(2)
let date = new Date(startDate.slice(0,20)+new Date().getFullYear());
let isoDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().slice(0,16);
document.querySelector(".output").innerHTML="StartDate=> {"+isoDate+"}<br/>Address=> {"+address+"}"
<div class="schedule">
<p><span class="fwb">Date</span>: 22-Nov(Firday) 15:00-17:00</p>
<p><span class="fwb">Location</span>: ABC Street</p>
</div>
<div class="output"></div>
阅读更多:
推荐阅读
- unix - 在 Debian Stretch 上安装 ROS 动力学时遇到问题
- c# - 模拟单元测试的管理控制器
- java - OutOfMemoryError 堆转储
- css - 我使用 CSS 线性渐变作为背景制作了这些条纹,但它们看起来并不那么清晰。无论是在桌面还是在移动屏幕上
- python-3.x - Python 如何知道所有这些 π 的变体都是同一个变量名?
- python - 将文件转换为字典以计算出现次数
- reactjs - Netlify CMS 无法更新/替换已在 Gatsby.js 中优化的图像
- django - Django 显示搜索结果
- javascript - 当事件设置为外部元素时,如何检测另一个元素内部的元素?
- uwp - 无法激活 IDL 中定义的投影类型