我的问题是,如果我在浏览器控制台中执行此代码,它会正常工作,跨度会根据给定的 URL 参数等进行更改。但是如果我只是加载页面,我会得到相应的控制台日志,但没有跨度已满。有人发现问题吗?
附注加载窗口是一个绝望之举,所以不要评判我,它是可选的。
编辑:我也许应该提到我来自 Python 编程,所以我可能不明白与 JS 相关的某些事情...... sry
jQuery 代码:
function setSlogan(sloganText) {
console.log(sloganText);
$("#productLeadLogin").text(sloganText);
$("#productLeadRegistration").text(sloganText);
}
const params = new URLSearchParams(window.location.search);
function chooseSlogan (){
switch (params.get("product")) {
case "...":
console.log("Got ...");
slogan = "to the ... services";
console.log(slogan);
setSlogan(slogan);
break;
default:
console.log("defaulting");
slogan = "to all your default services";
console.log(slogan);
setSlogan(slogan);
break;
}
}
$(window).on("load", chooseSlogan()); // it's called desperation
要更改的跨度之一:
<h6 class="font-weight-light">Sign In here to get access <span id="productLeadLogin"></span>.</h6>
最佳答案
$(window).on("load", chooseSlogan());
您需要将引用作为.on
中的回调参数传递给函数对象,但您直接在该位置调用它。 foo()
与 foo
的区别。
所以这部分需要
$(window).on("load", chooseSlogan);
关于javascript - jQuery Span 文本不改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60377874/