【问题标题】:How to open a specific URL onclick? [duplicate]如何打开特定的 URL onclick? [复制]
【发布时间】:2013-11-22 14:18:54
【问题描述】:

我想在点击以下内容时打开一个 URL:

<span class="taglib-text">Forgot Password</span>

任何人都可以提供它的 Javascript 吗?

实际上,我无法控制 HTML,这就是为什么我需要使用 Javascript 和类名(即taglib-text)调用事件的原因@

【问题讨论】:

  • 设置window.location = url
  • 你想为@marcos1490 使用jQuery 做什么? @user1980107:你不能控制 HTML,但你可以添加 JavaScript?内嵌框架?
  • @putvande 因为他无法控制 HTML。
  • @ShawnGrav,我仍然认为不需要 jQuery over JavaScript 打开 URL。
  • @putvande 我同意你的观点,我只是在回答为什么 HTML 不能被编辑

标签: javascript


【解决方案1】:

试试这个:

var url = 'http://www.google.com';
var element = document.getElementsByClassName('taglib-text')[0]; // only targets the first element it finds
element.addEventListener('click',function(){
    location.href = url;
});

如果你有很多该类的元素,你可以改用:

var url = 'http://www.google.com';
var elements = document.getElementsByClassName('taglib-text');
for (var i = 0; i < elements.length; i++){
    elements[i].addEventListener('click', function () {
        location.href = url;
    });
}

FIDDLE

由于Shawn的评论和this test,我将答案从使用.querySelector()更改为.getElementsByClassName()

【讨论】:

  • @putvande,很好的收获...谢谢。
  • 为什么不使用document.getElementsByClassName()?我的意思是,您的答案是正确的 +1,但据我所知,.querySelector() 仅提取静态元素列表,而 .getElementsByClassName() 提取实时元素列表。
  • @ShawnGrav,说得好。编辑答案。
  • 它不起作用。你能用 JSFiddle 创建一个 HTML 例子吗?
  • @user1980107,添加了一个小提琴示例。将代码包装在 window.onload 函数中,以防您的问题是您在 html 准备好/加载之前运行 javascript。
猜你喜欢
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
  • 2011-01-10
  • 2015-10-30
  • 2021-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多