2017-05-02 3 views
0

있는 테이블의 특정 행에 특정 TD를 추가 :다음 코드를 고려 JQuery와

<tbody> 
    <tr class="wsui-table-row-odd"> 
     <td>IamaTextFieldBox</td> 
     <td class="im-label-required">Label required</td> 
    </tr> 
    <tr class="wsui-table-row-odd"> 
     <td>IamaTextFieldBox2</td> 
     <td class="im-label-required">Label required2</td> 
    </tr> 
    <tr class="wsui-table-row-odd"> 
     <td>IamaTextFieldBox3</td> 
     <td class="im-label-required">Label required3</td> 
    </tr> 
    </tbody> 

다음 스크립트는 각 <tr class="wsui-table-row-odd"> 위에 새 <tr class='tr00'>을 만들고 새로 <tr> 생성에 <td class="im-label-required">을 배치 할 수 있습니다.

$(document).ready(function() { 
    $("tr.wsui-table-row-odd").parent().prepend("<tr class='tr00'>"); 
    $(".tr00").append($("td.im-label-required")); 
}); 

문제점은 3 새로 생성 <tr class='tr00'> 각각 3 <td class="im-label-required">를 배치하는 것입니다.

나는과 같이 관련 <tr class='tr00'>에 전적으로 관련 <td class="im-label-required">을 배치 스크립트를 필요 :

<tbody> 
    <tr class="tr00"> 
     <td class="im-label-required">Label required</td> 
    </tr> 
    <tr class="wsui-table-row-odd"> 
     <td>IamaTextFieldBox</td> 
    </tr> 
    <tr class="tr00"> 
     <td class="im-label-required">Label required2</td> 
    </tr> 
    <tr class="wsui-table-row-odd"> 
     <td>IamaTextFieldBox2</td> 
    </tr> 
    <tr class="tr00"> 
     <td class="im-label-required">Label required3</td> 
    </tr> 
    <tr class="wsui-table-row-odd"> 
     <td>IamaTextFieldBox3</td> 
    </tr> 
    </tbody> 

그것은 표시되어야합니다 :

Label required 
IamaTextFieldBox 
Label required2 
IamaTextFieldBox2 
Label required3 
IamaTextFieldBox3 

당신의 도움에 감사드립니다. 대신 prepend

+0

당신은 IamaTextFieldBox''확신이 있습니까? 위의 HTML은'IamaTextFieldBo2','IamaTextFieldBox3' 등이 있습니다. 업데이트 된 답변을보십시오. – zer00ne

+0

@ zer00ne 오 예, 잘못 편집했습니다. 머리를 가져 주셔서 감사합니다. –

답변

2

당신은 ** 당신이 click here

$(document).ready(function() { 
 
    $('.wsui-table-row-odd').each(function(index,el){ 
 
\t \t var newLabel = "<tr class='tr00'><td colspan='2'>" + $(this).find('.im-label-required').html() + "</td></tr>"; 
 
\t \t $(newLabel).insertBefore(el); 
 
\t }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table border="1" cellpadding="2"> 
 
<tbody> 
 
\t <tr class="wsui-table-row-odd"> 
 
\t <td>IamaTextFieldBox</td> 
 
\t <td class="im-label-required">Label required</td> 
 
\t </tr> 
 
\t <tr class="wsui-table-row-odd"> 
 
\t <td>IamaTextFieldBox2</td> 
 
\t <td class="im-label-required">Label required2</td> 
 
\t </tr> 
 
\t <tr class="wsui-table-row-odd"> 
 
\t <td>IamaTextFieldBox3</td> 
 
\t <td class="im-label-required">Label required3</td> 
 
\t </tr> 
 
</tbody> 
 
</table>

을 확인할 수 있습니다 참조 세부 사항에 대한 insertBefore

$(document).ready(function() { 
    $("<tr class='tr00'></tr>").insertBefore("tr.wsui-table-row-odd"); 
}); 

사용하거나 라벨을 이동하려면 수 있습니다 **

$(document).ready(function() { 
 
    $('.wsui-table-row-odd').each(function(index,el){ 
 
\t // \t var newLabel = "<tr class='tr00'><td>" + $(this).find('.im-label-required').html() + "</td></tr>"; 
 
\t \t $(el).find('.im-label-required').insertBefore(el); 
 
\t }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table border="2" cellpadding="2"> 
 
<tbody> 
 
\t <tr class="wsui-table-row-odd"> 
 
\t <td>IamaTextFieldBox</td> 
 
\t <td class="im-label-required">Label required</td> 
 
\t </tr> 
 
\t <tr class="wsui-table-row-odd"> 
 
\t <td>IamaTextFieldBox2</td> 
 
\t <td class="im-label-required">Label required2</td> 
 
\t </tr> 
 
\t <tr class="wsui-table-row-odd"> 
 
\t <td>IamaTextFieldBox3</td> 
 
\t <td class="im-label-required">Label required3</td> 
 
\t </tr> 
 
</tbody> 
 
</table>

+0

@ zer00ne 감사하지만 그것이 아닙니다. –

+0

@Super User 감사합니다. 행 작성 (문서에 대한 감사)이 아니라 레이블에 대한 트릭을 실제로 수행합니다. $ (". tr00"). append ($ ("td.im-label-required")); 3 개의 새로 발견 된 행 각각에 를 모두 배치하십시오. 그것들을 3 배 복제합니다. 그것이 내 문제이기 때문에 복제하지 않아도됩니다. 난 그냥 "레이블 required1"새로 만든 , "레이블 required2"두 번째 새로 만든 요법. –

+0

@ 숨겨진 영혼 확인 업데이트 된 대답 –

관련 문제