Jquery,获取所有元素的ID字符串列表,其ID为“以字母开头”字符串?

时间:2011-03-17 02:25:56

标签: javascript jquery element

我不是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 />';
});

http://jsfiddle.net/fD7fP/3/

5 个答案:

答案 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

});

jsFiddle

答案 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