Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中正确设置链接变量?_Javascript_Jquery_Html_Button_Hyperlink - Fatal编程技术网

如何在javascript中正确设置链接变量?

如何在javascript中正确设置链接变量?,javascript,jquery,html,button,hyperlink,Javascript,Jquery,Html,Button,Hyperlink,我有4个按钮来创建一个文本输出,这样一个“Go”按钮就会指向文本输出中给出的链接。 我仍然是一个JavaScriptNoob,正在用其他语言思考,但是有没有一种方法可以根据上次按下的按钮将.innertext变成一个变量?这是我提出的最好的逻辑,并希望使其更有效的代码 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> <h1 id=

我有4个按钮来创建一个文本输出,这样一个“Go”按钮就会指向文本输出中给出的链接。 我仍然是一个JavaScriptNoob,正在用其他语言思考,但是有没有一种方法可以根据上次按下的按钮将.innertext变成一个变量?这是我提出的最好的逻辑,并希望使其更有效的代码

<script 
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
</script>

<h1 id="changedText">Button changes this text</h1>


<button onclick="btn1()">Button1</button>
<button onclick="btn2()">Button2</button>
<button onclick="btn3()">Button3</button>
<button onclick="btn4()">Button4</button>
<br>

<button onclick="Go()">Go to Link Above</button>



<script>
function btn1() {
document.getElementById("changedText").innerText = "http://www.test- 
button-1.com";
}
function btn2() {
document.getElementById("changedText").innerText = "http://www.test- 
button-2.com";
}
function btn3() {
document.getElementById("changedText").innerText = "http://www.test- 
button-3.com";
}
function btn4() {
document.getElementById("changedText").innerText = "http://www.test- 
button-4.com";
}
</script>

按钮更改此文本
按钮1
按钮2
按钮3
按钮4

转到上面的链接 函数btn1(){ document.getElementById(“changedText”).innerText=”http://www.test- 按钮-1.com”; } 函数btn2(){ document.getElementById(“changedText”).innerText=”http://www.test- 按钮-2.com”; } 函数btn3(){ document.getElementById(“changedText”).innerText=”http://www.test- 按钮-3.com”; } 函数btn4(){ document.getElementById(“changedText”).innerText=”http://www.test- 按钮-4.com”; }
正如您所看到的,我的代码非常脏,并且没有“转到”链接,我缺少了什么?

函数设置链接(链接){
document.getElementById(“changedText”).innerText=link;
}
函数Go(){
document.location.href=document.getElementById(“changedText”).innerText;
}
按钮更改此文本
按钮1
按钮2
按钮3
按钮4


转到上面的链接
只需单击处理即可。无需定义4个函数

$(“按钮”)。在(“单击”,函数(){
var siteId=$(this.text().slice(-1);
变量url=”http://www.test-button-@",;
如果(!isNaN(站点ID)){
url=url.replace(/@/gi,siteId);
$(此).text(url);
}
});

按钮1
按钮2
按钮3
按钮4
$(“按钮”)。在(“单击”,函数(){
var url=$(this).data(“url”);
$(“#changedText”).text(url);
$(“goButton”).data(“url”,url)
});
$(“#goButton”)。单击(函数(){
window.location.href=$(this.data(“url”);
})

按钮更改此文本
按钮1
按钮2
按钮3
按钮4

转到上面的链接
我想您可以尝试使用输入标记,每当单击按钮时,您都可以将值属性指定给全局变量。 然后,“Go”功能将您的文本更改为:

    function Go(){
      document.getElementById("changedText").innerText = `http://www.test-${globalVariable}.com`;
    }

你能解释一下这里的逻辑吗?我对它的工作原理有点困惑。当你点击任何带有“数据url”属性的按钮(在这里阅读更多关于这个属性的信息:)JQuery读取这个属性(这一行:var url=$(this.data(“url”);)并在id为“changedText”的元素中呈现它(这一行:$(“#changedText”).text(url);)我添加了Go函数,但由于某种原因,我的整个javascript都崩溃了。现在,我没有得到任何文本更改。这与来源有关吗?