【发布时间】:2018-03-27 18:57:39
【问题描述】:
我正在制作一个选择加入页面。我希望用户当前的订阅数据显示在页面顶部。我的方法是根据 URL 参数将内容放入 div 中。如果参数不存在,我希望它放入不同的 div。见以下代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var testSub = '<span>Subscription data</span>';
if (/testnews=1/.test(window.location.href)) {
document.getElementById('subscribed').innerHTML = testSub;
} else {
document.getElementById('not_subscribed').innerHTML = testSub;
}
</script>
</head>
<body>
<div id="subscribed"></div>
<div id="not_subscribed"></div>
</body>
</html>
【问题讨论】:
-
还没有测试过,但这看起来已经相当合理了。您能澄清一下您遇到的问题吗?
-
if/else 语句中的某些内容对我不起作用。当我实时托管内容并使用指定参数测试 URL 时,内容不会放入 div 中。如果我在 if 语句中删除一个可以正常工作的警报,那么我知道 if/else 中一定有问题。
-
更具体地说,我认为这两行是不正确的: document.getElementById('subscribed').innerHTML = testSub; document.getElementById('not_subscribed').innerHTML = testSub;
-
我建议不要使用正则表达式来测试 URL 查询字符串,而是通过实际检查值(例如,如果 testnews=11 或 othertestnews=1,你的仍然会经过)。您可以使用 URIjs 之类的东西将查询字符串读入对象。
标签: javascript html if-statement url parameters