在javascript中设置名称属性时,smoothscroll不起作用

在javascript中设置名称属性时,smoothscroll不起作用,javascript,jquery,Javascript,Jquery,当我使用smoothscroll插件以名称属性为目标时,smoothscroll不工作,但如果我以id属性为目标,smoothscroll工作正常。获取以下控制台错误,请建议如何解决 $(document).ready(function() { var class1 = $("[class^='test']"); $('class1').on('click', function (event) { var scrollStatus = $(this).attr('data

当我使用smoothscroll插件以名称属性为目标时,smoothscroll不工作,但如果我以id属性为目标,smoothscroll工作正常。获取以下控制台错误,请建议如何解决

$(document).ready(function() {
var class1 = $("[class^='test']");
    $('class1').on('click', function (event) {
        var scrollStatus = $(this).attr('data-smooth-scroll');
        if(scrollStatus !== 'false' && scrollStatus !== undefined) {
            var actualHrefValue = $(this).attr("href");
            var actualNameValue = $('[name="' + actualHrefValue.substr(1) + '"]');
            if(actualHrefValue.charAt(0) === "#") {
                if(actualHrefValue !== '#' && actualHrefValue !== null) {
                    event.preventDefault();
                    document.querySelector(actualNameValue).scrollIntoView({behavior: 'smooth', block: "start" });
                }
            }
        }
    });

});
错误:

HTML:

您正在使用

document.querySelector(actualNameValue)
其中actualNameValue已经是一个元素

var actualNameValue = $('[name="' + actualHrefValue.substr(1) + '"]');
试一试

而不是

document.querySelector(actualNameValue).scrollIntoView({behavior: 'smooth', block: "start" });

我相信你忘了发布控制台错误。我所看到的只是代码示例。@Martin,添加了控制台错误您也可以添加目标元素吗?只是为了得到一个更全面的想法。尝试将您打算使用的值记录在控制台日志中,我怀疑您可能只是在那里出错,而实际上没有引用任何内容null@Snsa90,问题是选择器:[name=link]在query.selector中不工作
actualNameValue.scrollIntoView({behavior: 'smooth', block: "start" });
document.querySelector(actualNameValue).scrollIntoView({behavior: 'smooth', block: "start" });