バックグラウンド:
ユーザーがコンテンツ領域内にテーブルを作成できる CMS ツールがあります。境界線のオプションが使用されている場合、ツールはテーブルに境界線属性を設定し、スタイルは使用しません。スタイルシートをリセットすると、デフォルトですべてのテーブルが境界線なしになり、これによりテーブルの境界線属性が上書きされます (つまり、境界線が表示されません)。
簡単なハックとして、border 属性が 0 以外のテーブル要素を取得し、border 属性をインライン スタイルに変換する jQuery をいくつか入れました。
私の質問:
コードを機能させることはできましたが、当初意図したソリューションではありません。
これは現在機能しています:
$("table[border!='0']").css('border', function() {
return $(this).attr('border') + "px solid";
});
私の最初の解決策は、cssメソッドで関数を必要としないことでした-
$("table[border!='0']").css('border', $(this).attr('border') + "px solid");
この質問を書いているときに、 $(this) が選択内の各項目を参照していないことに気付きました。関数内で参照しているため、私の問題です。
関数なしでこれを達成する方法はありますか?