javascript
  • jquery
  • html
  • 2016-06-28 4 views 1 likes 
    1

    각 행에 여러 개의 등급이 포함되어있는 테이블이 있습니다.이 중 5 개는 특정 동작이 수행 될 때 공백으로 표시되어야하고 원래의 등급은 다른 동작이 수행 될 때 되돌아옵니다. 찍은. 원본 단어를 데이터에 저장 했으므로 원본 HTML 줄이 이렇게 보입니다. 내 JS에서요소의 배열을 반복하여 html을 데이터로 바꿉니다.

    echo "<td data-Rating = $Rating class = 'outfieldlineuprating'>$Rating</td>"; 
    

    , 정말 같은 'outfieldlineuprating'모든 요소를 ​​.. 찾아

    SkillRatings = PlayerRow.find('.outfieldlineuprating'); 
    

    그것은이 시점까지 작동 (PlayerRow는 괜찮습니다). 나는 ..

    SkillRatings.html('----'); 
    

    이것은 'outfieldlineuprating'클래스 5 개의 모든 요소에 ----두고 (즉 요소를 블랭킹) 첫 번째 조치를 취할 때, 그것은 작동하기 때문에 작동 알고있다. 그러나 반대로, 나는 고투하고있다. 이 시점에서 'SkillRatings'에는 아마도 관련 td의 배열이 포함되어있을 것입니다.하지만 루프를 통해 데이터를 추출하고 html에 삽입하는 방법을 모르겠습니다. 여기에 내가 뭘하려고하지만 JS에서 작동하지 않습니다.

    for (var index = 0; index < SkillRatings.length; index++){ 
        Rating = SkillRatings[index].attr('data-Rating'); 
        SkillRatings[index].html(Rating); 
    } 
    

    이것은 단지 오류를 범 : SkillRatings [인덱스] .attr 함수

    +1

    이것은 Jquery 질문이기도합니다. 그 태그도 추가 할 수 있습니까? –

    +1

    코드가 jQuery를 사용하는 것처럼 보이면 시도하십시오 :'$ (SkillRatings [index]). attr'. –

    +0

    죄송합니다. JQuery입니다. Errr, 태그를 추가하려고합니다. – Farflame

    답변

    3

    넌 jQuery를 사용하고 SkillRatings = PlayerRow.find('.outfieldlineuprating');이 요소를 포함하고있는 jQuery 객체를 생성하지 않다.

    SkillRatings[index] 실제 요소, 해당 요소하지 jQuery 오브젝트를 반환

    당신은 그러나이 쉽게 현재의 요소로 this를 노출 SkillRatings.each 사용하여 수행됩니다

    SkillRatings.eq(index).jQueryMethod(); 
    // or 
    $(SkillRatings[index]).jQueryMethod(); 
    

    SkillRatings[index].jQueryMethod()을 변경해야 루프

    for 루프 시도 대신

    SkillRatings.each(function(){ 
        // "this" is current element 
        $(this).html($(this).data('Rating')); 
    }); 
    
    +1

    OK ... html에 표시된'data-RatingData'와'data-Rating' 사이에 문제가 불일치합니다. – charlietfl

    +0

    네가 맞아. 업데이트 된 질문이 있습니다. 답이 맞고 루프가 작동합니다. 감사 :) – Farflame

    관련 문제