单击元素时,将元素ID传递到js函数中

Pass element ID into js function when the element is clicked

本文关键字:元素 js 函数 ID 单击      更新时间:2023-09-26

我有一个带有选项卡样式视图的页面,如下所示:http://demos.inspirationalpixels.com/Tabs-with-HTML-CSS-&amp-jQuery/

我的问题是,我在每个选项卡上都有表格,在页面上的选项卡之外,我有一个重置所有表格并提交的按钮,但我想要一个重置当前顶部选项卡上的表格的按钮。

所以我认为最好的方法也是这样,当点击选项卡时,会向选项卡表单重置脚本发送一个值,这样它就知道如果点击了哪个表单,该重置哪个表单。

表单的id为"tabf1"、"tabf2"等,所以我只需要点击选项卡即可发送选项卡编号。

我尝试过的:

<ul class="tab-links">
    <li onclick="setTabNo(this)" id="1"  class="active">    
    <a href="#tab1">Basic</a></li>
    <li onclick="setTabNo(this)" id="2" ><a href="#tab2">Earnings</a></li>
    <li onclick="setTabNo(this)" id="3" ><a href="#tab3">Deductions</a></li>
    <li onclick="setTabNo(this)" id="4" ><a href="#tab4">Taxes</a></li>
</ul>

function resetAll() {
    document.getElementById("tabf1").reset();
    document.getElementById("tabf2").reset();
    document.getElementById("tabf3").reset();
    document.getElementById("tabf4").reset();
}
var tabNo;
function setTabNo() {
    var tabNo = this.id;
}
function resetTab() {
    document.getElementById("tabf"+tabNo).reset();
}

我已经尝试过点击和id作为其中的一部分,这是基于下面的答案,但仍然不适用于我。

该变量在另一个函数中被调用,但应该可以,因为我首先在两者之外定义它。

已解决:

遗憾的是,它没有得到id,但我只是把id值放在了onlick的函数括号中。

因此:

onclick="setTabNo('2')"

然后:

function setTabNo(idv) {
    tabNo = idv;
}

您根本不需要传递ID,它已经作为单击元素的属性可用:

function setTab2(element) {
    var id = element.id;
    ...
 }

然后将CCD_ 1属性改变为CCD_。后者确保向单击处理程序传递对被单击元素的引用。

请注意,最好不要使用内联事件处理程序:

$('#2').on('click', setTab2);

注意:数字ID只允许在HTML5中使用,在CSS3中不允许使用