我需要更新一些旧的 Javascript 以兼容跨浏览器。该代码最初是为 IE6 创建的,并且由于 HTML 的布局方式而大量使用 nextSibling 和 previousSibling。
显然 nextSibling 和 previousSibling 在 Firefox 等中的工作方式不同。下一个最佳选择 nextElementSibling 在旧的 IE 浏览器中不起作用。看来我需要做的是创建一个可以在大多数浏览器中使用的nextElementSibling等效函数。
这是我的尝试,似乎不太正确:
function getNextElementSibling(CurrentElement) {
if (CurrentElement.nextElementSibling) {
return CurrentElement.nextElementSibling
} else {
do {
CurrentElement = CurrentElement.nextSibling;
} while (CurrentElement && CurrentElement.nodeType !== 1);
return CurrentElement;
}
}
需要做什么来修复/更换它?
请注意,JQuery 和其他库不是一个选项。