我有类似的东西
x.getElementById("foo" + rowIndex);
在某些情况下,ID中的“ foo”之前还有一些其他字符串,我的问题是是否可以使用其他替换(例如SQL中的“%”)添加其他内容“ foo”之类的
x.getElementById("%foo" + rowIndex);
答案 0 :(得分:4)
如果您使用querySelector
而不是getElementById
,则可以传递选择器字符串,该选择器字符串选择一个ID,该ID以所需的子字符串结尾,例如:
x.querySelector('[id$="foo' + rowIndex + '"]');
const rowIndex = 3;
console.log(document.querySelector('[id$="foo' + rowIndex + '"]'));
<div id="barfoo3">text</div>
(当然,如果要选择ID以其结尾的 all 个元素,请使用querySelectorAll
而不是querySelector
)
也就是说,请注意,这样的动态ID有点像代码的味道-您可能会考虑是否有更优雅的替代方法。