我在点击时尝试获取按钮,在Javascript中打开一个新的标签,其中包含相应的网址ID。我计划使用此功能的多个按钮,并希望他们访问不同的网站(因此需要不同的ID)这里是我的按钮代码和Javascript,但是它是' s不在另一个浏览器中打开:
HTML
<button type="button" id="adbutton" class="adbutton" nclick="OpenInNewTab()">
RESERVE NOW
</button>
Javascript:
document.getElementById('.adbutton').onclick = function OpenInNewTab(url) {
var win = window.open('http://www.example.org');
win.focus();
}
答案 0 :(得分:0)
试试这个
当您使用('.adbutton')
使用getElementById
时,您不需要('adbutton')
之类的选择器(点)和您正在调用它的函数,要求(url)
作为参数OpenInNewTab(url)
你不需要它。如果您没有通过任何使用OpenInNewTab()
document.getElementById('adbutton').onclick = function OpenInNewTab() {
var win = window.open('http://www.example.org');
win.focus();
}
检查工作演示https://jsfiddle.net/zvj2o7fy/7/我希望这能解决您的问题。
答案 1 :(得分:0)
因为您没有将任何参数传递给函数并且它需要一个,所以在onclick调用中放入(this.id)或(this.href)或其他任何内容
function OpenInNewTab(id){
alert(id);
var win = window.open('http://www.example.org');
win.focus();
}
<button type="button" id="adbutton" class="adbutton" onclick="OpenInNewTab(this.id)">RESERVE NOW</button>
答案 2 :(得分:0)
您需要从
中删除。 document.getElementById('.adbutton')
并将其更改为
document.getElementById('adbutton')
如果您想使用类选择器,则需要将其替换为
document.getElementsByClassName('adbutton')[0].onclick = function OpenInNewTab(url) {
var win = window.open('http://www.example.org');
win.focus();
}
由于该按钮已经具有onclick属性,因此您不需要此
document.getElementById('adbutton').onclick
。
您可以简单地定义功能
function OpenInNewTab(url) {
var win = window.open('http://www.example.org');
win.focus();
}