按模式查找id(不需要jquery或第三方库)
Find id by pattern (Without jquery or 3rd party libraries)
我有一个按钮:
<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
相关文章:
- 使用jquery cookie的第三方cookie
- 开发第三方小部件-Angular vs jQuery vs普通的旧JS
- 更改第三方组件的 jQuery 命名空间
- 如何使用打字稿编译包含不同库(例如jquery,jquery-ui,其他第三方库)的文件
- Jquery 执行函数 第三方函数结束后
- 在第三方 ajax 之后保持 jquery 脚本的活动
- 阻止第三方JavaScript插入jQuery
- jQuery或其他第三方库是否应该与逻辑代码捆绑在一起
- jQuery弹出窗口而不使用第三方jQuery库
- iOS 8第三方键盘don't注册javascript/jQuery keyup、keypress、keydow
- 如何使用Javascript/JQuery从第三方网站加载XML
- 在android上,jQuery插件中使用的第三方库的ReferenceError
- 排序html表列客户端没有第三方以外的jquery
- 向第三方页面添加jQuery失败
- 计算类的实例——使用Firebug将jQuery注入第三方网站
- 在第三方窗口(原型)中执行jQuery
- jQuery:在等待窗口加载时忽略第三方内容
- 如何使用jquery noConflict而不改变第三方库
- 添加一个动画过渡到第三方jquery插件- Dropit
- 向requireJS添加第三方jQuery插件的最佳实践