web-dev-qa-db-ja.com

jqueryクラスを使用してTRのTD)を検索し、変更を加えます(Telerik MVCグリッドの場合)

これは私のマークアップです

<tr class="t-detail-row">
    <td class="t-hierarchy-cell"></td>           
    <td class="t-detail-cell" colspan="5"></td>
</tr>

クラスt-detail-rowのtrを見つけて、クラスt-hierarchyの子tdを削除したい-cellおよびtdのcolspanをクラスt-detail-cellで変更

私はこのようなことを試みました

var newcolspan = $(e.row).find('.t-detail-row').children('td.t-detail-cell').attr('colspan');

$(e.row).find('.t-detail-row').children('td.t-hierarchy-cell').remove()
.children('td.t-detail-cell').attr('colspan',newcolspan+1);

どんな助けでも大歓迎です。

状況に関するより具体的な詳細


私が達成したいのはすべてです。 Telerik MVCグリッドを展開すると、このマークアップが詳細行に表示されます

<tr class="t-detail-row">
<td class="t-hierarchy-cell"></td>
<td class="t-detail-cell" colspan="5"></td>
</tr>

削除したい<td class="t-hierarchy-cell"></td> 初期化。

マークアップを取得します

<tr class="t-detail-row">
<td class="t-detail-cell" colspan="Current+1"></td>
</tr>

このために私はこのようなことをするのに

グリッド展開イベントで、jquery関数を呼び出すことができる場合は、グリッドを展開するまで詳細行マークアップが生成されないためです。

function onExpandingtheGrid(){
$('tr.t-detail-row').find('td.t-hierarchy-cell').remove();
$('tr.t-detail-row').find('td.t-detail-cell').attr('colspan',newcolspan+1);
}

ありがとう

ソリューション


.ClientEvents(exp => exp.OnDetailViewExpand("onExpandingtheGrid"))

上記のjquery関数yahooで述べたように休憩してください!

6
HaBo

別々の機能でその:

$('tr.t-detail-row').find('td.t-hierarchy-cell').remove();
$('tr.t-detail-row').find('td.t-detail-cell').attr('colspan',newcolspan+1);

この場合、クリックなどにターゲット行を使用しようとしているように見えるため、findを使用しました。その場合は、trセレクターをターゲットに置き換えてください。

18
Evan

これを試して:

$('tr.t-detail-row td.t-hierarchy-cell').remove();
$('tr.t-detail-row td.t-detail-cell').attr('colspan', X); // replace X with desired colspan value
4
techfoobar