Javascript getElementById 基于部分字符串
2022-08-30 05:14:12
我需要获取元素的ID,但值是动态的,只有它的开头总是相同的。
下面是代码的一个片段。
<form class="form-poll" id="poll-1225962377536" action="/cs/Satellite">
ID 始终以 开头,然后数字是动态的。poll-
我如何仅使用JavaScript而不是jQuery来获取ID?
我需要获取元素的ID,但值是动态的,只有它的开头总是相同的。
下面是代码的一个片段。
<form class="form-poll" id="poll-1225962377536" action="/cs/Satellite">
ID 始终以 开头,然后数字是动态的。poll-
我如何仅使用JavaScript而不是jQuery来获取ID?
试试这个。
function getElementsByIdStartsWith(container, selectorTag, prefix) {
var items = [];
var myPosts = document.getElementById(container).getElementsByTagName(selectorTag);
for (var i = 0; i < myPosts.length; i++) {
//omitting undefined null check for brevity
if (myPosts[i].id.lastIndexOf(prefix, 0) === 0) {
items.push(myPosts[i]);
}
}
return items;
}
示例 HTML 标记。
<div id="posts">
<div id="post-1">post 1</div>
<div id="post-12">post 12</div>
<div id="post-123">post 123</div>
<div id="pst-123">post 123</div>
</div>
称它为
var postedOnes = getElementsByIdStartsWith("posts", "div", "post-");