Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
如何从innerHTML/textContent javascript获取日期_Javascript_Date_Innerhtml - Fatal编程技术网

如何从innerHTML/textContent javascript获取日期

如何从innerHTML/textContent javascript获取日期,javascript,date,innerhtml,Javascript,Date,Innerhtml,下面是JavaScript代码,我试图使用它从填充了几个元素的元素中获取日期。第9个元素包含YYYY-MM-DD格式的日期。当我使用这段代码时,它似乎并没有将元素转换为JavaScript日期——相反,当我尝试转储日期变量时,我得到了[本机代码]。有什么想法吗 部分代码: if (optvalue == 2) { for (i = 0; i < trans_array.length; i++) { var cn = trans_array[i].childNode

下面是JavaScript代码,我试图使用它从填充了几个元素的元素中获取日期。第9个元素包含
YYYY-MM-DD
格式的日期。当我使用这段代码时,它似乎并没有将元素转换为JavaScript日期——相反,当我尝试转储日期变量时,我得到了[本机代码]。有什么想法吗

部分代码:

if (optvalue == 2) { 
    for (i = 0; i < trans_array.length; i++) {
        var cn = trans_array[i].childNodes;
        var dts = cn[9];

        try {
            var transdt = new Date(dts.innerHTML);
            if (transdt < prior_month) {
                trans_array[i].classList.add("hide");
                alert("node hiddent!");
            }
            alert(transdt.getDay + " / " + transdt.getMonth + " / " + transdt.getFullYear);
        } catch(err) {
            alert("Error: Inner HTML is not a date:" + dts.innerHTML)       
        }    
    }    
alert("Value is 2");
}

<div class="transaction_item prior_day" id="trans-88">
<!----------- Sub Row 1 ------------------->
<p class="tiday">Tue</p>
<p class="tipayee">Coutry Boy Gas</p>
<p class="ticredit">&nbsp;</p>
<p class="tidebit">7.02</p>
<p class="tibalance">1.24</p>
<p class="solid_box" id="check-88" onclick="toggle_checkmark(88)">&nbsp;</p>
<p onclick="edit(1, 88)">Edit</p>
<!-------------- Sub Row 2 --------------------->
<p class="tidate">2018-04-17</p>
<p class="ticat">Miscellaneous Expense</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="timemo">Gas for Car </p>
</div>
if(optvalue==2){
对于(i=0;i

乡村男孩煤气

7.02

1.24

编辑

2018-04-17

杂项费用

汽车用汽油


如果我理解正确,您希望获取字符串日期并转换为
日期()
,对吗?如果是,为什么不使用class
.tidate
直接从元素中获取值,然后创建一个
新日期()

这将返回一个完整的日期,包括天、月、年和时间,要获取所需的内容,可以使用
date()
中的get方法,如:
getDate()
:返回月份的日期(1-31)
getFullYear()
:返回年份(4位年份)
getMonth()
:返回月份(0-11)

基本示例:

var date\u string=document.querySelector('.tidate').textContent;
var nDate=新日期(日期字符串);
控制台日志(“完成日期:+nDate”);
console.log(“Day:+nDate.getDate());
log(“月:+nDate.getMonth())//添加+1以获得“真实生活”月
console.log(“年份:+nDate.getFullYear())

星期二

乡村男孩煤气

7.02

1.24

编辑


2018-04-17

据我所知,我已对代码进行了修改,并制作了一把小提琴

这是工作小提琴:

修改:

 var dts = cn[9]; 

在警报中,您没有调用函数,只是命名了函数

alert(transdt.getDay() + " / " + transdt.getMonth() + " / " + transdt.getFullYear());

我认为问题在于您正在访问属性“getDay”,而不是调用函数“getDay()

试着换一条线

alert(transdt.getDay + " / " + transdt.getMonth + " / " + transdt.getFullYear);


console.log(dts.innerHTML)
返回什么?console.log(dts.innerHTML)
显示什么?@Kokogino lol nice one。几乎是心灵感应吧D@Isac是的,差不多了。xDshare console.log(dts)
alert(transdt.getDay + " / " + transdt.getMonth + " / " + transdt.getFullYear);
alert(transdt.getDay() + " / " + transdt.getMonth() + " / " + transdt.getFullYear());