如何获取 URL 参数以动态更改我的 html 文本
How can I get URL parameters to change my html text dynamically
我正在尝试让一些动态文本在我使用引导页面构建的登录页面上运行。我不是 javascript 向导所以请多多包涵。
我想获取 URL 参数 ?salon=NameOfSalon 以便我可以相应地自动更改文本,并在清空一些默认文本时自动更改文本。
这是我目前得到的结果
function getParameterByName(name, url = window.location.href) {
name = name.replace(/[\[\]]/g, '\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
var salon = getParameterByName('salon');
document.getElementById('salon').innerText = getParameterByName('salon');
但它只改变了一个地方,而不是所有地方,并且没有默认文本时为空(我用过<span id="salon"></span>
)
希望它有意义!
每个 HTML 元素的 id
属性 应该是唯一的。如果您想将新的 innerText
应用于多个元素,请尝试为每个元素分配一个已知的 class,然后使用 getElementsByClassName 获取对它们的引用。
例如,
var elements = document.getElementsByClassName('salon-class');
for (var element of elements) {
element.innerText = getParameterByName('salon') || ''
}
这假设您的 HTML 定义了如下元素:<span class="salon-class"></span>
.
我正在尝试让一些动态文本在我使用引导页面构建的登录页面上运行。我不是 javascript 向导所以请多多包涵。
我想获取 URL 参数 ?salon=NameOfSalon 以便我可以相应地自动更改文本,并在清空一些默认文本时自动更改文本。
这是我目前得到的结果
function getParameterByName(name, url = window.location.href) {
name = name.replace(/[\[\]]/g, '\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
var salon = getParameterByName('salon');
document.getElementById('salon').innerText = getParameterByName('salon');
但它只改变了一个地方,而不是所有地方,并且没有默认文本时为空(我用过<span id="salon"></span>
)
希望它有意义!
每个 HTML 元素的 id
属性 应该是唯一的。如果您想将新的 innerText
应用于多个元素,请尝试为每个元素分配一个已知的 class,然后使用 getElementsByClassName 获取对它们的引用。
例如,
var elements = document.getElementsByClassName('salon-class');
for (var element of elements) {
element.innerText = getParameterByName('salon') || ''
}
这假设您的 HTML 定义了如下元素:<span class="salon-class"></span>
.