Javascript 如何将差异链接添加到JS按钮?
我用Vanilla JS创建了多个按钮,希望它们链接到不同的页面。我正在考虑通过“links”数组进行映射,但需要对如何针对每个指向正确页面的按钮进行更新Javascript 如何将差异链接添加到JS按钮?,javascript,html,Javascript,Html,我用Vanilla JS创建了多个按钮,希望它们链接到不同的页面。我正在考虑通过“links”数组进行映射,但需要对如何针对每个指向正确页面的按钮进行更新 const multipleButtons=()=>{ //设i=0; 让body=document.getElementsByTagName(“body”)[0]; var optionText=[“健身指南”、“护理”、“材料”]; var links=['fitGuide.html','care.html','materials.ht
const multipleButtons=()=>{
//设i=0;
让body=document.getElementsByTagName(“body”)[0];
var optionText=[“健身指南”、“护理”、“材料”];
var links=['fitGuide.html','care.html','materials.html'];
for(设i=0;i 多按钮()代码>如果您必须使用按钮而不是a
标记,则如下所示:
const multipleButtons=()=>{
//设i=0;
让body=document.getElementsByTagName(“body”)[0];
var optionText=[“健身指南”、“护理”、“材料”];
var links=['fitGuide.html','care.html','materials.html'];
for(设i=0;i 多按钮()代码>您可以将事件侦听器更改为
button.addEventListener("click", function() { window.location.href = links[i]; });
for
循环已被证明速度更快,但循环更具可读性,因此我建议您使用它们。对于不变的变量,使用它也是一个好主意
最后一件事是最好使用
标记,因为这就是它们的设计目的——就像昆汀在评论中提到的那样。如果需要,可以将其样式设置为按钮
const multipleButtons=()=>{
const optionText=[“健身指南”、“护理”、“材料”];
const links=['fitGuide.html','care.html','materials.html'];
optionText.forEach(函数(文本、索引){
const-anchor=document.createElement(“a”);
anchor.innerText=文本;
anchor.href=链接[索引];
document.body.appendChild(锚定);
addEventListener(“单击”,函数(){
警报(this.innerText);
window.location.href=this.href;
});
});
}
多按钮()代码>
a{
右边距:.5em;
}
您期望的HTML输出是什么?如果您想要链接,请使用链接(
)而不是按钮。您正在查找按钮。addEventListener(“单击”,function(){window.location.href=links[i];})代码>?@Quentin为不清楚道歉。我的目的是让每个按钮链接到一个页面,仅此而已。我想映射“links”数组中的每个元素,所以第一个按钮(FitGuide)指向/FitGuide.html,第二个按钮指向第二个链接,第三个指向第三个链接,依此类推。@j08691是的,谢谢你的救命恩人。我一直在放window.link.href。谢谢<代码>更换
?!为什么要这样乱动后退按钮?href
是字符串属性,而不是函数。未捕获的TypeError:window.location.href不是函数谢谢——是的,我后来将它们改为链接!