2013-07-22 2 views
1

내부에 사용자 정의 속성을 가진 요소를 찾기 나는 테이블의 각 행을 반복하고 아래에 뭔가 (그냥 의사 코드)과 같은 테이블jQuery를 - 테이블 행

<table> 
<tr><td>text11</td><td>text12</td><td><div customerid='1'>Customer 1</div></td></tr> 
<tr><td>text21</td><td>text22</td><td><div>Customer 2</td></tr> 
<tr><td><div customerid='2'>xxxx-yyyyy</div><td>text23</td><td>text33</td></tr> 
</table> 

있습니다. 위 예제처럼 "customerid"와 같은 사용자 지정 특성이있는 행에서 요소를 찾아야합니다. 이 검색의 요구 사항은 거의 없습니다. 이 맞춤 특성

  • HTML 요소 유형이 정의 속성이 표시되는 고정되지 나타날 위치
    • 고정되지 않는다. 즉, $ ('div') 등의 선택자는 문제가되지 않습니다.
    • 검색은 개별 행 수준에서 수행하지 여기

    내가 그 모든 시간을 "정의"를 반환 것으로 보인다하려고했던 것입니다 테이블 수준에서됩니다.

    rows = $(self.find('tbody tr').each(function (rowIndex, element) { 
        var keyValue = getKeyValue($(element));     
    })); 
    
    function getKeyValue(row){ 
        return row.attr('customerid'); 
    } 
    

    .attr 메서드가 작동하지 않는 것 같습니다. 나는 '행'이 실제로 올바른 표 행인지, HTML이 올바른지 확인하기 위해 디버깅했으며 내 맞춤 속성이있는 div가 포함 된 셀을 포함합니다. 제안 사항을 보내 주시면 감사하겠습니다.

    감사

  • +0

    제공된 답변 중 맨 위에있는 'data-'속성을 사용하는 것에 대해 생각해보아야합니다. – CodingIntrigue

    +0

    이것은 사용자 정의 속성이며 구성 가능합니다. 사용자는 임의의 속성 이름을 사용할 것인지 결정할 수 있습니다. 이 이름은 플러그인의 옵션 중 하나에 있습니다. – ByteBlocks

    답변

    3

    그 수 있습니다 어떤이 속성을 가지고있는 요소를 찾기 위해 속성 선택 [customerid]를 사용합니다. 당신이 고객 ID를 가진 모든 요소를 ​​찾아 시작하고 그들이 나타나는 행을 찾기 위해 뒤쪽으로 일할 수있는,

    rows = $(self.find('tbody tr').each(function (rowIndex, element) { 
        var keyValue = $(this).find("[customerid]").eq(0).attr("customerid"); 
    })); 
    

    을 또는 :

    예를 들어, 각 행의 반복 처리를하는 경우, 당신은 할 수

    self.find('tbody tr [customerid]').each(function() { 
        var keyValue = this.getAttribute("customerid"); 
        var $row = $(this).closest("tr"); 
    }); 
    
    +0

    이전의 대체 시도에서 셀렉터에서 대괄호가 누락되었습니다. 모두 세트! – ByteBlocks