document.getElementById + regex

时间:2011-05-19 16:25:40

标签: javascript getelementbyid

document.getElementById可以与正则表达式一起使用吗?

例如,一个页面上的ID将是 Product-1 ,而另一个页面上的ID将是 product-3 。 (不要问我为什么,但显然不能改变。)

我想要做的是运行getElementById寻找 Product-x 的ID,其中 x 为1或3。

目前我有这样的事情:

var _container = document.getElementById("product-1") || document.getElementById("product-3");

哪个有效 - 但我想知道是否有更好的方法可以做到这一点?

提前致谢

3 个答案:

答案 0 :(得分:7)

jQuery selectors awesome 就此而言。

一个很好的例子就是“starts with”选择器,如$("*[id^=product]")

答案 1 :(得分:3)

是的。 document.querySelectorAll似乎很好。

document.querySelectorAll('[id^=product]')

借鉴StackOverFlow

MDN Link here.

答案 2 :(得分:0)

所以你不能改变元素的id但是你可以添加一个类吗? 如果您将类产品添加到您的所有产品,您可以获得它们 全部来自

document.getElementsByClassName("product")

并采取第一个