2017-12-29 14 views
-2

バニラjsまたはjqueryを使用して、いくつかのスタイリングアトリビュートが定義されている定義済みの(利用可能な)クラスを知りたい。特定のスタイルを持つCSSクラスを見つける

たとえば、borderスタイルが定義されているすべてのクラスと、それが定義されているクラスを知りたいとします。そのクラスを変更することができれば(つまり、境界を変更する、または削除する)こともできますが、pushが押されると、そのクラスを使用するすべての要素を照会でき、選択したクラスに切り替えることができます代わりに。

私は人気のあるウェブサイトのスタイリングを変更する拡張機能を作成しようとしています。残念なことに私にとって、クラス名はすべて無意味であり、名前は頻繁に変更されます(クラス名はすべて[1..n]と呼ばれます)。したがって、クラス名を特定の要素を取得する準知的な方法として使用することはできません。古いクラスをオフにして、新しいカスタムクラスを追加してください。このサイトでは、インラインスタイルも大いに活用しています。私はそれから必要なもののほとんどを得ることができました。しかし、境界が定義されているクラスもあります( "class12"から "class26"など)。私は国境が死ぬことを望む。今私は国境内のコンテンツを知って、境界クラスでdivを削除するためにいくつかのレベルに上がっていなければなりません。とてもうるさい。

+0

を見て試してみましたがありますか?失敗しているソースを提供できますか?少なくともここから読んでください:http://devdocs.io/dom/document/stylesheets – Intervalia

+0

いくつかのコードを共有して解決策を尋ねてください。 –

+0

ターゲットクラスが常に同じ接頭辞(常に 'X'が変数である' classX')を使用する場合、それをフィルタリングするのは簡単です。今、それが変更され、代わりに計算されたスタイルでフィルタリングする必要がある場合は、それは難しく、本当に価値がありません。私は、スタイル別にフィルタリングしようとするよりも、これらの特定の要素をターゲットにする別の方法を見つけるほうがよいでしょう。 –

答えて

1

あなたは何をgetComputedStyle

const elem = document.querySelector('.test'); 
 
const style = getComputedStyle(elem); 
 

 
// READ 
 
console.log(style.border); 
 

 
// WRITE 
 
elem.style.border = '1px dotted green';
.test { 
 
    border: 5px solid red; 
 
}
<div class="test">TEST</div>

関連する問題