Javascript 的通用字符串选择器?
Universal String selector for Javascript?
我有类似的东西
x.getElementById("foo" + rowIndex);
有几个案例在 ID 中的 "foo" 之前有一些其他字符串,我的问题是是否有任何替换(例如 SQL 中的“%”)我可以用来向 "foo" 添加其他内容,例如
x.getElementById("%foo" + rowIndex);
如果您使用 querySelector
而不是 getElementById
,您可以传递一个 select 或字符串,select 是一个 以 你想要的子串,例如:
x.querySelector('[id$="foo' + rowIndex + '"]');
const rowIndex = 3;
console.log(document.querySelector('[id$="foo' + rowIndex + '"]'));
<div id="barfoo3">text</div>
(当然,如果你想select 所有 ID以此结尾的元素,使用querySelectorAll
而不是querySelector
)
也就是说,请注意,此类动态 ID 有点代码味道 - 您可能会考虑是否有更优雅的替代方法。
我有类似的东西
x.getElementById("foo" + rowIndex);
有几个案例在 ID 中的 "foo" 之前有一些其他字符串,我的问题是是否有任何替换(例如 SQL 中的“%”)我可以用来向 "foo" 添加其他内容,例如
x.getElementById("%foo" + rowIndex);
如果您使用 querySelector
而不是 getElementById
,您可以传递一个 select 或字符串,select 是一个 以 你想要的子串,例如:
x.querySelector('[id$="foo' + rowIndex + '"]');
const rowIndex = 3;
console.log(document.querySelector('[id$="foo' + rowIndex + '"]'));
<div id="barfoo3">text</div>
(当然,如果你想select 所有 ID以此结尾的元素,使用querySelectorAll
而不是querySelector
)
也就是说,请注意,此类动态 ID 有点代码味道 - 您可能会考虑是否有更优雅的替代方法。