gpt4 book ai didi

javascript - 我不断获得>;使用子字符串或切片时

转载 作者:行者123 更新时间:2023-12-03 00:56:19 24 4
gpt4 key购买 nike

我正在构建一个带有播放列表的视频播放器,并使用符号“>”来指示当前正在播放哪个视频。我有以下功能:

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;
}
}

我不会在代码中的其他任何地方更改此字符串,但是当我使用切片或子字符串删除此“>”而不是获取没有它的字符串时,我会将此符号替换为“gt;”。

删除前:

>htt://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4

删除后:

gt;htt://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4

最佳答案

您假设 > 将以 > 的形式返回给您。它不在您的示例中,它会以 named character reference 的形式返回给您相反,>。请记住,innerHTML是 HTML。在大多数情况下,对于 > 使用命名字符实体并不是绝对必要的,但这并不罕见。

这可能是可靠的跨浏览器,也可能不是可靠的,因此要删除它,如果您需要使用 innerHTML,我可能会这样做:

l.childNodes[curVideo + 1].childNodes[0].innerHTML =
pl.childNodes[curVideo + 1].childNodes[0].innerHTML.replace(/^(?:>|\&gt;)/, "");
// ----------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^

...这将在字符串的开头删除它,无论它返回为 > 还是 >

或者,使用 innerTexttextContent ,因此您不处理 HTML。

关于javascript - 我不断获得>;使用子字符串或切片时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52820561/

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