Javascript 我不断得到gt;使用子字符串或切片时
我正在构建一个带有播放列表的视频播放器,并使用符号“>”指示当前正在播放的视频。我有以下功能:Javascript 我不断得到gt;使用子字符串或切片时,javascript,Javascript,我正在构建一个带有播放列表的视频播放器,并使用符号“>”指示当前正在播放的视频。我有以下功能: player.onended = function () { pl.childNodes[curVideo + 1].childNodes[0].innerHTML = pl.childNodes[curVideo + 1].childNodes[0].innerHTML.slice(1); ++curVideo; if (playlist.length
player.onended = function () {
pl.childNodes[curVideo + 1].childNodes[0].innerHTML = pl.childNodes[curVideo + 1].childNodes[0].innerHTML.slice(1);
++curVideo;
if (playlist.length == 0) {
player.setAttribute("src", "");
}
else if (curVideo < playlist.length) {
player.setAttribute("src", playlist[curVideo]);
pl.childNodes[curVideo + 1].childNodes[0].innerHTML = ">" + pl.childNodes[curVideo + 1].childNodes[0].innerHTML;
} else {
curVideo = 0;
player.setAttribute("src", playlist[curVideo]);
pl.childNodes[curVideo + 1].childNodes[0].innerHTML = ">" + pl.childNodes[curVideo + 1].childNodes[0].innerHTML;
}
}
删除后:
>htt://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4
gt;htt://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4
通过使用innerText属性而不是innerHTML进行修复您假设
将作为
返回给您。它不在您的示例中,而是作为
返回给您。记住,这是HTML。在大多数情况下,
不一定要使用命名字符实体,但这并不少见
这可能是可靠的,也可能不是可靠的跨浏览器,所以要删除它,如果您需要使用innerHTML
,我可能会这样做:
l.childNodes[curVideo + 1].childNodes[0].innerHTML =
pl.childNodes[curVideo + 1].childNodes[0].innerHTML.replace(/^(?:>|\>)/, "");
// ----------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^
…这将在字符串开头删除它,无论它返回为
还是
或者,使用或,这样您就不用处理HTML了。可能值得一提,特别是关于页面回流的问题。