javascript - 在 javascript 中重定向到按钮 onclick 上的新页面

标签 javascript

我在这样的网页中有很多按钮。

<div class="btn btn-sm btn-success mycustom_btn"  onClick="javascript:clickinner();">more</div>
<div class="btn btn-sm btn-success mycustom_btn1"  onClick="javascript:clickinner();">more</div>
<div class="btn btn-sm btn-success mycustom_btn2"  onClick="javascript:clickinner();">more</div>

我想做的是在按钮 onclick 事件上调用函数 clickinner()。我试图通过类名获取按钮元素并更改目标 url。 javascript代码如下。

<script>
function clickinner(){
    var mybtn=document.getElementsByClassName('btn');
    mybtn.onClick="location.href='about-us.html'";
};
</script>

我不想通过 Id 获取元素,所以我每次都必须分配唯一的 id。但是,每当我单击任何按钮时,目标链接都不起作用。 请帮助我。

最佳答案

点击的按钮可以在clickinner函数中使用this访问,不需要通过类名获取:

<div class="btn btn-sm btn-success mycustom_btn"  onClick="javascript:clickinner(this);">more</div>
<div class="btn btn-sm btn-success mycustom_btn1"  onClick="javascript:clickinner(this);">more</div>
<div class="btn btn-sm btn-success mycustom_btn2"  onClick="javascript:clickinner(this);">more</div>

此外,您可以直接重定向到“关于我们”页面,因为您已经在点击事件中。所以……

<script>
function clickinner(target) { // Target refers to the clicked element
    location.href='about-us.html';
};
</script>

... 足够了。

如果你需要根据按钮的类转到不同的页面,你可以这样做:

function clickinner(target) {
    if(target.classList.contains('mycustom_btn')) {
        location.href = 'another-page.html';
    } else {
        location.href='about-us.html';
    }
};

关于javascript - 在 javascript 中重定向到按钮 onclick 上的新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28497796/

相关文章:

javascript - 自动更改div jquery

javascript - 递归地展平深度嵌套的对象和数组的组合

javascript - 从 Asp.Net CodeBehind 调用 JavaScript(不是函数)

javascript - API 返回数据,但在 undefined object 中。这是怎么回事?

javascript - Node.js 使用(JSON 字符串/Arr?)

javascript - 将日期从 gergorian 转换为 shamsi

javascript - 从javascript/html播放音频时设置自定义元数据(Control Center iOS)

javascript - 使用 RegExp 递归检索多个捕获组

javascript - 如何停止图片的幻灯片放映?

javascript - 我在 django 中的 Javascript 只运行一次