2013-03-05 2 views
1

접근 방법을 잘 모르지만 jQuery를 사용하여 (예 : 웹 앱에서) 사용중인 웹 페이지에 대해 도움을 줄 수 있습니다.jQuery를 사용하여 웹 페이지 내 특정 ID 요소를 검색하는 방법

<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가 "_AB_Q_"패턴과 일치하는 전체 ID 이름 만 검색 한 다음 나중에 처리 할 수 ​​있도록 배열에 저장합니다.

P1_AB_Q_101 
P1_AB_Q_102 
P1_AB_Q_103 
P1_AB_Q_104 
P1_AB_Q_500 

감사 :

그래서, 난 단지 돌아가려면 위의 테스트 데이터를 사용하여.

+2

HTML 예제는 cr * p처럼 보입니다. P – Stefan

+0

내 질문과 관련이없는 불필요한 태그의 전체 힙을 복사하여 붙여 넣어야한다고 생각하지 않았습니다. – tonyf

+0

어떤 대답이 유용 했습니까? :) – Stefan

답변

1

일을 포함해야 선택 : http://jsfiddle.net/whizkid747/D2HS4/

$('[id*="_AB_Q_"]').each(function(){ 
    alert(this.getAttribute('id')); 
}); 

문서 : 필자는 당신을 위해 Jsfiddle을 만들어 : http://api.jquery.com/attribute-contains-selector/

+0

잘 작동하지만 동시에 "_AB_Q_nnnn_fieldset"으로 반환하는 요소를 무시해야합니다. 기본적으로 "_fieldset"이있는 요소는 반환 목록에서 무시하고 싶습니다. 감사. – tonyf

+0

이 요구 사항은 위의 질문에 없습니다 :).그래서 당신이 여기서 묻고있는 것은 id가 P1_AB_Q_104_fieldset 또는 P1_AB_Q_120_field로 설정 되었다면 무시할 필요가 있다는 것입니다. – Whizkid747

+0

만약 내가 당신을 이해했다면, 여기에 업데이트 된 코드가 있습니다 : http://jsfiddle.net/whizkid747/D2HS4/1/ – Whizkid747

0
$('[id^="_AB_Q_"]').each(function(){ 
    console.log(this.getAttribute('id')); 
}); 
-1
$('[id^=_AB_Q_]').doSomeAction(); 

아이디는 제공된 문자열로 시작하는 경우를 검사한다.

JQuery 선택기는 CSS 선택기입니다.

// 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']; 
+0

id 내부의 하위 문자열을 검사해야합니다. – Whizkid747

+0

답장을 보내 주셔서 감사합니다. 그러나 일치시키고 자하는 문자열 부분은 "AB_Q_"로 시작하지 않습니다. 실제로는 ID의 중간 부분에 있습니다. 이 문자열과 일치하지만 그 문자열을 포함하는 전체 이름을 반환하고 싶습니다. 감사. – tonyf

+0

ID가 PHP 나 다른 서버 측 언어로 추가되면 주문을 변경할 수 있습니다. – Brainfeeder

0
var ids = [] 
$("*").each(function(){ 
    if(this.id.match(/_AB_Q_/)) 
     ids.push(this.id) 
}); 

는 다소 다른 onces과 동일하지만, 내가 적응하기 쉽게하기 위해, 일치 condtion을 구분 :내 approch이 될 것입니다. :)

관련 문제