从动态元素中获取动态ID并单击

时间:2015-05-23 14:02:58

标签: javascript

我有一个我无法解决的问题, 我正在寻找一个解决方案,但我发现的任何东西都不符合我的需求。

我有这段代码:

<a class="button-main" id="saveButton7" href="#" onclick="window.location.reload()">Save</a>

其中saveButton是静态部分,只有数字动态变化。

我需要获取该ID并点击它:

document.getElementById("saveButton7").click();

我尝试过这样的事情:Get dynamic Id from dynamic elements 但它不起作用,因为我需要获得整个id并点击它。

由于

3 个答案:

答案 0 :(得分:1)

为什么不试试jQuery选择器:

    $("[id^='saveButton']").click();

^表示id以 saveButton

开头的任何属性

编辑1

然后你可以这样:

    var anchors = document.getElementsByTagName("a"), item;
    for (var i = 0, len = anchors.length; i < len; i++) {
      item = anchors[i];
      if (item.id && item.id.indexOf("saveButton") == 0) {
         // item.id starts with saveButton
      }
     }

编辑2 看看@ this

    <a class="button-main" id="saveButton7" href="#" onclick="onClickFunction(event);">Save</a>


    function onClickFunction(event){
           var saveButtonObject = event.target;
           //do reloading stuff here...
    }

此处的浏览器隐式传递了事件对象...

答案 1 :(得分:0)

考虑到您希望使用键盘事件触发每个此类<a>元素。您可以在HTML5

中执行以下操作
<a data-keybind='KEY_HERE' ..>Save</a>

现在,使用jQuery

$('#DOMelement').on('keypress',function(e){
    $("a[data-keybind='"+e.which+"']").trigger('click');
});

可以使用这种事件处理程序。 基本上我使用jQuery attribute equals selector

答案 2 :(得分:0)

使用以下代码:

$('a[id^="saveButton"]').click();

它会找到&#34; A&#34;标记在你的html页面中以&#34; saveButton&#34;开头,然后调用它的onClick事件。