복붙노트

[JQUERY] ID에 대한 jQuery를 선택 특정 문자로 시작 [중복]

JQUERY

ID에 대한 jQuery를 선택 특정 문자로 시작 [중복]

해결법


  1. 1.속성 선택기를 사용 JQuery와 시작

    속성 선택기를 사용 JQuery와 시작

    $('[id^=editDialog]')
    

    대체 솔루션 - (1) (추천)

    청소기 솔루션은 div의 및 사용의 각 공통 클래스를 추가하는 것입니다

    ( '. commonClass')를 $.

    HTML 마크 업이 당신의 손에 있지 및 어떤 이유로 변경할 수 없습니다하지만 당신은 첫 번째를 사용할 수 있습니다.

    대체 솔루션 - 2 (n은 많은 수의 경우 권장하지 않음) (@Mihai 스탄 쿠의 제안에 따라)

    $ ( '# editDialog-0, # editDialog-1, # editDialog-2, ..., # editDialog -N')

    참고 :이 2 또는 3 셀렉터가하고 목록이 변경되지 않는 경우에, 이것은 아마 실행 가능한 솔루션입니다하지만 우리가 도시에 새로운 ID가있을 때 선택기를 업데이트 할 필요가 있기 때문에 확장되지 않습니다.


  2. 2.내가 아직 언급하지 않은이지만 유용하게 찾을 수있는 더 광범위한 대답 고려 것들을 제공 할 수 있습니다.

    내가 아직 언급하지 않은이지만 유용하게 찾을 수있는 더 광범위한 대답 고려 것들을 제공 할 수 있습니다.

    현재의 문제에 대한 대답은

    $("div[id^='editDialog']");
    

    캐럿 (^)는 정규식 수단 시작으로부터 취해진 다.

    해결 방법 1

    // Select elems where 'attribute' ends with 'Dialog'
    $("[attribute$='Dialog']"); 
    
    // Selects all divs where attribute is NOT equal to value    
    $("div[attribute!='value']"); 
    
    // Select all elements that have an attribute whose value is like
    $("[attribute*='value']"); 
    
    // Select all elements that have an attribute whose value has the word foobar
    $("[attribute~='foobar']"); 
    
    // Select all elements that have an attribute whose value starts with 'foo' and ends
    //  with 'bar'
    $("[attribute^='foo'][attribute$='bar']");
    

    상기 코드의 특성은 HREF 이름, ID 또는 SRC와 같은 요소가 가질 수있는 임의 특성으로 변경 될 수있다.

    해결 방법 2

    사용 클래스

    // Matches all items that have the class 'classname'
    $(".className");
    
    // Matches all divs that have the class 'classname'
    $("div.className");
    

    해결 방법 3

    그들을 목록 (또한 이전 답변에서 언급)

    $("#id1,#id2,#id3");
    

    해결 방법 4

    당신이 정규 표현식을 개선 할 때의 경우 (실제로 솔루션의 하나가 항상 충분했다, 이것들을 사용하지 마십시오,하지만 당신은 절대 모릅니다!

    // Matches all elements whose id takes the form editDialog-{one_or_more_integers}
    $('div').filter(function () {this.id.match(/editDialog\-\d+/)});
    

  3. 3.당신이 언급 한 바와 같이 모든 div의이 editDialog로 시작하는 경우에, 당신은 다음과 같은 선택을 사용할 수 있습니다 :

    당신이 언급 한 바와 같이 모든 div의이 editDialog로 시작하는 경우에, 당신은 다음과 같은 선택을 사용할 수 있습니다 :

    $("div[id^='editDialog']")
    

    또는 당신은 당신을 위해 쉽게 대신하는 경우 클래스 선택기를 사용할 수 있습니다

    <div id="editDialog-0" class="editDialog">...</div>
    
    $(".editDialog")
    

  4. 4.모든 사업부에 공통 클래스를 추가합니다. 예를 들어 모든 div의에 foo에 추가합니다.

    모든 사업부에 공통 클래스를 추가합니다. 예를 들어 모든 div의에 foo에 추가합니다.

    $('.foo').each(function () {
       $(this).dialog({
        autoOpen: false,
        show: {
          effect: "blind",
          duration: 1000
        },
        hide: {
          effect: "explode",
          duration: 1000
        }
      });
    });
    
  5. from https://stackoverflow.com/questions/23223526/jquery-selector-for-id-starts-with-specific-text by cc-by-sa and MIT license