【发布时间】:2020-06-08 04:46:05
【问题描述】:
我的问题是,如果我在浏览器控制台中执行此代码,它可以正常工作,跨度会根据给定的 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>
【问题讨论】:
-
您需要将引用作为
.on中的回调参数传递给您的函数对象,但您是在那个地方直接调用它。foo()与foo的区别 -
应该是:
$(window).on("load", chooseSlogan); -
@freedomn-m 您能否将其发布为答案,以便我接受? 在加载时传递函数有效!谢谢!
标签: javascript jquery html css-selectors