私はtablesorterプラグインと組み合わせてこれを使用しています。私の目標は、ソートされていないカラムに空のクラス属性を持たせることです。除去される。テーブルのヘッダ操作
基本的に私ができることをしたいのは、テーブルヘッダーをクリックすると、他のすべてのテーブルでCSSクラスを削除したいのですが、クリックすると、2つのcssクラスの間で切り替える必要があります。私はXHTML Strictを使用しているため、ヘッダーの内容のアンカータグ内にrelタグを使用しています。relはテーブルヘッダータグ自体では定義できません。次のように私のコードは次のとおりです。私はそれがやるべきことと仮定しています何
$(function() {
$("a[rel='Header']").click(function() {
$("a[rel='Header']").each(function() {
if($(this).attr("class")=="sort-up"){$(this).removeClass("sort-up");}
if($(this).attr("class")=="sort-down"){$(this).removeClass("sort-down");}
})
if($(this).attr("class")==""){$(this).addClass("sort-up");}
$(this).toggleClass("sort-down")
});
});
は、それがクラス属性「ソート・アップ」が含まれている場合、それを削除し、できるだけ早くヘッダーをクリックすると、各ヘッダを循環です;クラス属性 "sort-down"が含まれている場合は削除します。次に、現在クリックされているヘッダーに対して、クラス属性 "sort-up"を追加し、 "sort-down"属性を切り替える。私の問題は、ヘッダーに下矢印(/)で表されている「ソートダウン」クラスを使用している場合、あるヘッダーをクリックすると、別の列の別のヘッダーをクリックすると、その属性は表示されません削除されません。ただし、「並べ替え」クラス(^)は削除されます。私はhasClassの構文に注意を払っていなかった、それは動作しますが、
<thead>
<tr>
<th><a rel = "Header" href="#" class="">Title</a></th>
<th><a rel = "Header" href="#" class="">Instructor</a></th>
<th class="{sorter: 'usLongDate'}"><a rel = "Header" href="#" class="">Date</a></th>
<th class="{sorter: false}">Start/End</th>
<th><a rel = "Header" href="#" class="">Seats Available</a></th>
<th><a rel = "Header" href="#" class="">Enrolled</a></th>
<th><a rel = "Header" href="#" class="">Pre-Requisites</a></th>
<th class="{sorter: false}">Workshop Actions</th>
</tr>
</thead>
waxwingによって推奨される変更、愚かな間違いで更新:
ここXHTMLの私のヘッダのリストです。ありがとう。
$(function() {
$("a[rel='Header']").click(function() {
$("a[rel='Header']").each(function() {
if($(this).hasClass("sort-up")){$(this).removeClass("sort-up");}
if($(this).hasClass("sort-down")){$(this).removeClass("sort-down");}
})
if($(this).hasClass("")){$(this).addClass("sort-up");}
if ($(this).hasClass("sort-up")) {
$(this).removeClass("sort-up").addClass("sort-down");
} else {
$(this).removeClass("sort-down").addClass("sort-up");
}
if($(this).attr("title") == "Sort column in ascending order"){
$(this).attr({title : "Sort column in descending order"});}
else {$(this).attr({title : "Sort column in ascending order"});}
});
});
gnarfに感謝します。私は、このアプローチを将来の参照のために便利にしておきます。 – kingrichard2005