我有一个我无法解决的问题, 我正在寻找一个解决方案,但我发现的任何东西都不符合我的需求。
我有这段代码:
<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并点击它。
由于
答案 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事件。