Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取元素的部分?_Javascript_Data Structures - Fatal编程技术网

Javascript 如何获取元素的部分?

Javascript 如何获取元素的部分?,javascript,data-structures,Javascript,Data Structures,我现在正在为一个活动流程的网站制作结构化数据,该网站上的信息如下: <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> 我预计

我现在正在为一个活动流程的网站制作结构化数据,该网站上的信息如下:

<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>
我预计11月22日(星期五)15:00-17:00的产量为2019-11-22T15:00

"streetAddress": "{{data}}"  --->

"streetAddress": "ABC Street" 
等等

有可能吗?非常感谢


*备注:我没有更改源页面的权限,因为我只是google tag manager管理员

我们可以这样做

let startDate = document.getElementsByTagName('p');
console.log(new Date(startDate[0].innerText.replace(/.*Date:/,'')))
结果:

 Fri Nov 23 2001 13:30:00 GMT+0530 (India Standard Time)
正如您所看到的,结果数据是不准确的,因为我们提供给JavaScript的new Date()函数的数据是不正确的

如果要转换日期/时间格式,请尝试首先传递准确的数据。您的数据当前未显示年份

如果您仍然想要预期的结果,我们现在可以硬编码这一年

let withYear = startDate[0].innerText.replace(/.*Date:/,'')
withYear  = withYear  + '2019'

console.log(new Date(withYear))
结果:

Sat Nov 23 2019 13:30:00 GMT+0530 (India Standard Time)
干杯,快乐编码:)

  • 使用正则表达式查找日期和地址(以:开头,以换行符结尾)
  • 使用toISOString()方法转换日期
  • let data=document.querySelector(“.schedule”).innerHTML
    让patt=/:*/
    让startDate=data.split(“

    ”)[0]。匹配(patt)[0]。切片(2) let address=data.split(“

    ”)[1]。匹配(patt)[0]。切片(2) let date=新日期(startDate.slice(0,20)+new date().getFullYear()); 设isoDate=newdate(Date.getTime()-(Date.getTimezoneOffset()*60000)).toISOString().slice(0,16); document.querySelector(“.output”).innerHTML=“StartDate=>{”+isoDate+“}
    Address=>{”+Address+“}”
    
    日期:11月22日(星期五)15:00-17:00

    地点:ABC街

    Sat Nov 23 2019 13:30:00 GMT+0530 (India Standard Time)