只是想知道,jQuery可以搜索所有具有CSS类“。map”的输入,并将输入的ID和类返回到数组中吗?
示例:
如果我的页面上有以下输入:
<asp:TextBox ID="test" runat="server" MaxLength="12" Width="3em" CssClass="mapTest" />
<asp:TextBox ID="test1" runat="server" MaxLength="12" Width="3em" CssClass="mapTest1" />
<asp:TextBox ID="test2" runat="server" MaxLength="12" Width="3em" CssClass="mapTest2" />
<asp:TextBox ID="test3" runat="server" MaxLength="12" Width="3em" CssClass="mapTest3" />
jQuery是否可以在数组中格式化结果,如下所示?
testArr[0] = 'test-mapTest';
testArr[1] = 'test1-mapTest1';
testArr[2] = 'test2-mapTest2';
testArr[3] = 'test3-mapTest3';
另外,在.net中我必须使用以下代码<%= test.ClientID %>
然后它只能得到正确的ID号,所以我不知道我怎么能在jquery然后只能得到正确的ID。
答案 0 :(得分:4)
当然可以!
var my_array = [];
$(":input[class^=map]").each(function(index, element) {
my_array.push(element.attr("id") + "-" + element.attr("class"));
});
上面的示例使用jQuery的.attr()
方法来访问元素的id和class属性,仅用于说明目的。直接访问元素的内置属性通常更快更容易阅读:
var my_array = [];
$(":input[class^=map]").each(function(index, element) {
my_array.push(this.id + "-" + this.className);
});
答案 1 :(得分:3)
以下选择器将匹配您的每个地图输入:$("input[class^=map]")
。它将匹配任何具有以map
开头的类的输入。然后,您可以从那里拉出所需的一切。
答案 2 :(得分:3)
你的问题陈述......
只是想知道,jQuery可以搜索所有具有CSS类“.map”
的输入
所以我回答......
var results = [];
$(':input.map').each(function() {
results.push(this.id + '-' + this.className);
});
但是,您的示例数据显示匹配的类例如mapTest
,而不是map
的类。您需要将选择器更改为:input[class^=map]
。
答案 3 :(得分:1)
搜索所有输入,检查他们是否有一个包含字符串"map"
的类,如果他们这样做,则将它们放在一个数组中:
var testArr = [];
$.each($("input"), function(){
var thisInput = $(this);
if(thisInput.attr("class").indexOf("map"){
testArr.push(thisInput.attr("id") + "-" + thisInput.attr("class"));
}
});