0

私はテーブルを持っており#sortable-categories 、いくつかの tr にはdata-order="something"(1,2,3..) があります。

全部選びたい。すべてを試しましたが、構文が正しくありません

for(i = 1;i<=count_ordered;i++){
        $("#sortable-categories tr [data-order="+i+"]").hide();
    }

それを手伝ってくれませんか:)

4

4 に答える 4

2

data-orderattribute が<tr>要素の属性である場合:

$("#sortable-categories tr[data-order]").hide();

属性<tr>を持つテーブル内のすべての要素を非表示にします。data-order

注:メソッドの.hide()場合、順序は意味がありません。

于 2013-07-04T09:16:17.393 に答える
1

私のコメントに続いて、あなたの問題はおそらく TR と [ の間のスペースです:

for(i = 1;i<=count_ordered;i++){
    $("#sortable-categories tr[data-order="+i+"]").hide();
}
于 2013-07-04T09:17:19.100 に答える
0

非常にばかげている... tr と [data-order にはスペースを入れないでください。$("#sortable-categories tr[data-order="+i+"]").hide();

于 2013-07-04T09:18:19.083 に答える
0

フォーマットはhtmlelement[attribute="value"]そうです。

属性セレクターを少し明確にするために、jQuery に一重引用符を使用しました。

for(i = 1; i <= count_ordered; i++) {
    $('#sortable-categories tr[data-order="'+i+'"]').hide();
}

ご覧のとおり、単一引用符は文字列をエスケープするため、変数を連結できますが、二重引用符は jQuery で使用される文字列の一部になります。

値を含み、完全に一致しない属性を検索する場合の形式は次のとおりです。

htmlelement[attribute*="value"]
于 2013-07-04T09:22:40.333 に答える