gpt4 book ai didi

javascript - 无法获取跨度值

转载 作者:行者123 更新时间:2023-11-30 00:04:32 24 4
gpt4 key购买 nike

我是 Javascript 和 Jquery 的新手,刚开始学习,我从其他网站复制代码并做了一些细微的改动,我试图在点击图标时更新计时器,但我收到了这个错误:-未捕获的类型错误:无法读取未定义的属性“split”

找到后,我看到变量 myTime 未定义。它没有获得跨度值。这是我的代码:-

    function updateTimer(expiryid) {
var myTime = $(expiryid+ ' span').html();
console.log(myTime);
var ss = myTime.split(":");
var dt = new Date();
dt.setHours(0);
dt.setMinutes(ss[0]);
dt.setSeconds(ss[1]);

var dt2 = new Date(dt.valueOf() + 1000);
var temp = dt2.toTimeString().split(" ");
var ts = temp[0].split(":");

expiryid.html(ts[1]+":"+ts[2]);
}


function initialize() {
// Some un-related code up here

google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infoWindow.setContent(infoWindowContent[i][0]);
infoWindow.open(map, marker);
//console.log('expire_'+i);
updateTimer('#expire_'+i);
}
})(marker, i));

}

</script>

<span id="expire_4">06:51</span>

最佳答案

你的html是<span id="expire_4">06:51</span>但是您正在尝试查询 var myTime = $(expiryid+ ' span').html();其中expiryid = '#expire_'+i .问题是您的查询与您的代码不匹配。您的查询表明您希望有一个 ID 为 expire_<number> 的元素有一个 child 跨度。您拥有的是 ID 为 expire_<number> 的跨度.更新查询以获取 span 元素作为 $(expiryid)你应该可以开始了。

编辑 我还注意到您正在尝试更新变量的 html。将整个函数更新为:

function updateTimer(expiryid) {
var myTimeEl = $(expiryid); /* create jquery object*/
var myTime = myTimeEl.html(); /*get the date string*/
console.log(myTime);
var ss = myTime.split(":");
var dt = new Date();
dt.setHours(0);
dt.setMinutes(ss[0]);
dt.setSeconds(ss[1]);

var dt2 = new Date(dt.valueOf() + 1000);
var temp = dt2.toTimeString().split(" ");
var ts = temp[0].split(":");

myTimeEl.html(ts[1]+":"+ts[2]); /*add new string to element using jquery objct*/
}

关于javascript - 无法获取跨度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39024441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com