[jquery] jquery에서 특정 속성 값을 가진 모든 요소 찾기

특별한 속성 값을 가진 모든 요소를 ​​찾아야합니다.

여기에 내가 찾아야 할 div가 있습니다.

<div imageId='imageN'>...

나는 단순히 가지고있는 div를 반복해야합니다. imageId='imageN'



답변

$('div[imageId="imageN"]').each(function() {
    // `this` is the div
});

어떤 값에 관계없이 속성의 유일한 존재를 확인하려면 대신 ths 선택기를 사용할 수 있습니다. $('div[imageId]')


답변

질문에 대한 정확한 답은 아니지만, 단순히 주어진 속성 이름 (속성 값으로 필터링하지 않음)을 가진 요소 (잠재적으로 다른 태그 이름) 컬렉션을 가져 오는 방법을 검색 할 때 여기에 도착했습니다. 다음이 잘 작동한다는 것을 알았습니다.

$("*[attr-name]")

이 페이지에 도착한 누군가가 저와 똑같은 것을 찾는 데 도움이되기를 바랍니다. :).

업데이트 : 별표가 필요하지 않은 것 같습니다. 즉, 몇 가지 기본 테스트를 기반으로 할 때 다음은 위와 동일한 것으로 보입니다 (이를 지적한 Matt에게 감사합니다).

$("[attr-name]")


답변

태그라고하는 것이 아닙니다. 당신이 찾고있는 것을 html 속성이라고합니다.

$('div[imageId="imageN"]').each(function(i,el){
  $(el).html('changes');
  //do what ever you wish to this object :) 
});


답변

속성의 부분 값을 사용하여 (^) 기호를 사용하여 DOM 요소를 감지 할 수 있습니다. 예를 들어 다음과 같은 div가 있습니다.

<div id="abc_1"></div>
<div id="abc_2"></div>
<div id="xyz_3"></div>
<div id="xyz_4"></div>...

코드를 사용할 수 있습니다.

var abc = $('div[id^=abc]')

다음으로 시작하는 id를 가진 div의 DOM 배열을 반환합니다 abc.

<div id="abc_1"></div>
<div id="abc_2"></div>

다음은 데모입니다.
http://jsfiddle.net/mCuWS/


답변

문자열 연결을 사용하십시오. 이 시도:

$('div[imageId="'+imageN +'"]').each(function() {
    $(this);
});


답변