我有一个按钮:
<button id="btn:1:uniquenamehere">btn</button>
中间的数字有时会因其他框架的内部工作而发生变化。我需要能够找到这个按钮,不管中间的数字是多少。所以我需要找到只有中间的数会改变的模式。所以我需要这样写:
document.getElementById("btn:*:uniquenamehere")
我看到了使用jquery的方法,但我不能使用第三方库。我怎么能做到这一点与纯javascript?
您可以使用document.querySelectorAll()
:
var elems = document.querySelectorAll('[id$="uniquenamehere"]');
JSFiddle
此外,如果您想要稍微耍一下,这是一个很好的方法(如果不是那么有效):
function getButton (buttonid) {
var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i += 1) {
if (buttons[i].id.slice(buttons[i].id.length - buttonid.length) === buttonid) {
return buttons[i];
}
}
return null;
}
JSFiddle