【问题标题】:Find id by pattern (Without jquery or 3rd party libraries)按模式查找 id(没有 jquery 或 3rd 方库)
【发布时间】:2015-07-09 03:35:12
【问题描述】:

我有一个按钮:

<button id="btn:1:uniquenamehere">btn</button>

中间的数字有时会因其他框架的内部运作而发生变化。无论中间的数字是多少,我都需要能够找到这个按钮。所以我需要通过只有中间数字会改变的模式来找到它。所以我需要这样的东西:

document.getElementById("btn:*:uniquenamehere")

我看到了使用 jquery 的方法,但我不能使用 3rd 方库。如何使用纯 javascript 做到这一点?

【问题讨论】:

  • 你能不能只为这些按钮添加一个类,然后通过它们的类名查找它们?

标签: javascript pattern-matching


【解决方案1】:

你可以使用document.querySelectorAll():

var elems = document.querySelectorAll('[id$="uniquenamehere"]');

JSFiddle

【讨论】:

  • 谢谢!正是我想要的!
【解决方案2】:

另外,如果你想玩一玩,这是一个很好的(如果不是那么有效)方法:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多