我不是Javascript专家,因为我做更多的服务器端工作,所以我正在努力解决这个问题。我找到了如何做到这一点的点点滴滴。基本上,我有一系列元素,其中包含以字符串“tagRow_”开头的id,我需要返回所有实际元素id的列表,因为我不仅需要元素,还需要解析元素的id服务器端每个服务器端的唯一结尾,以确定它对应的内容。
我找到了下面的代码来获取所有元素,但我不确定它是什么返回列表或什么,如果有人可以提供建议如何只返回一个字符串ID名称列表我会很感激。感谢
编辑:我实际上需要使用无线电输入字段来执行此操作,我错误地将DIV放在我自己的示例中。它对于DIV工作正常,但对于如下所示的无线电输入无法正常工作:
<input id="tagRow_ddd" type="radio" value="h">
<input id="tagRow_ddd" type="radio" value="p">
<input id="tagRow_ddd" type="radio" value="r">
<input id="tagRow_ddd" type="radio" value="c">
$("input[id^='tagRow_']").each(function() {
var id = this.id,
idNumber = id.replace(/\D+/, '');
document.body.innerHTML += idNumber + '<br />';
});
答案 0 :(得分:16)
<强> Live Demo 强>
var elements = [];
$("div[id^='tagRow_']").each(function(){
elements.push(this.id);
});
var stringOfElementIDs = elements.toString();
答案 1 :(得分:15)
尝试以下方法:
var ids = $("div[id^='tagRow_']").map(function() {
return this.id;
}).get();
返回所有ID的数组。这篇文章的更多信息:Use jQuery to extract data from HTML lists and tables。
答案 2 :(得分:2)
$("div[id^=tagRow_]").each()....
示例:
$("div[id^='tagRow_']").each(function() {
alert(this.id);
});
答案 3 :(得分:1)
您也可以在客户端获取该号码。
$("div[id^='tagRow_']").each(function() {
var id = this.id,
idNumber = id.replace(/\D+/, '');
// idNumber contains the digits that were in the id
});
答案 4 :(得分:0)
这将返回匹配的DOM元素列表(作为jQuery对象)。所以你必须遍历它并将id放在一个单独的数组中。
var matching_els = $("div[id^='tagRow_']"), ids = [];
for(var i=0; i<matching_els.length; i++){
ids.push(matching_els[i].attr("id");
}
// send ids back to server