我不确定如何使用jQuery来处理我所使用的网页(即在我的网络应用程序中)。我希望能够通过网页按顺序添加到数组中,所有元素的id都匹配字符串“_AB_Q _”
例如,通过网页分散的将是以下实例:
<id="P1_AB_Q_101">...
<id="P1_AB_Q_102">...
<id="P1_AB_Q_103">...
<id="P1_AB_Q_104">...
..
...
....
<id="P1_AB_Q_500">...
如上所述,我只想检索id匹配模式“_AB_Q_”的完整id名称,然后将它们存储在一个数组中以便以后处理。
因此,使用上面的测试数据,我只想返回:
P1_AB_Q_101
P1_AB_Q_102
P1_AB_Q_103
P1_AB_Q_104
P1_AB_Q_500
答案 0 :(得分:1)
您需要使用包含选择器的属性: 我为你创建了一个Jsfiddle:http://jsfiddle.net/whizkid747/D2HS4/
$('[id*="_AB_Q_"]').each(function(){
alert(this.getAttribute('id'));
});
答案 1 :(得分:0)
$('[id^="_AB_Q_"]').each(function(){
console.log(this.getAttribute('id'));
});
答案 2 :(得分:0)
使用attribute contains选择器和map功能;
var ids = $('[id*="_AB_Q_"]').map(function() { return this.id });
未经测试但应该有效:)
答案 3 :(得分:0)
我的方法是:
var ids = []
$("*").each(function(){
if(this.id.match(/_AB_Q_/))
ids.push(this.id)
});
或多或少与其他onces相同,但我分离了匹配条件,以便于适应。 :)
答案 4 :(得分:-1)
$('[id^=_AB_Q_]').doSomeAction();
它检查id是否以提供的字符串开头。
JQuery选择器是css选择器。有关完整列表,请查看http://www.w3.org/TR/CSS2/selector.htm
编辑:
// if the id = AB_Q_P1_100
// you can retrieve different parts of the id like this
var parts = $(this).attr('id').split('_');
var p = parts['3'];