私が必要とするのは、いくつかの開始要素でdomを反復し、開始要素の下のすべての要素を調べることです。document.getElementsByTagNameを使用してDOM要素を反復処理し、要素をjqueryオブジェクトとして渡します。
ここまでは私がこれまでやっていたことです。
function iterDomFromStartElem = function(startElem, callBackFunc) {
if (startElem !== null) {
var items = startElem.getElementsByTagName("*");
for (var i = 0; i < items.length; i++) {
callBackFunc(items[i]);
}
}
}
なぜ私がいくつかの開始要素からdomを繰り返し処理する必要がある理由は、私たちのチームが最近フォントのサイズ変更を実装する要求を受けたためです。しかし、私たちは、ピクセルを使用して多くの異なる場所でフォントサイズで静的にサイトを開発しました。私は、既存のコードをリファクタリングし、ページのルートに静的なフォントサイズを設定し、emの/パーセントを使用するという簡単な方法があることを認識しています。そのため、ビジネスオーナーがページのサイズを変更したい場合、私たちがしなければならないことは、フォントサイズを1つの場所で増やすことだけです。このリファクタリングには多くの時間がかかり、最低限の人数でこの作業を任されています。
だから、それから、私は働くだろう、この生のJavaScriptを使用して、function resizeFont(startElem, scale) {
iterDomFromStartElem(startElem, function(node) {
// get current size of node, apply scale, increase font size
}
}
コールバックそれほどのように定義していますが、私はトラブルのCSSクラス内で宣言した場合、フォントサイズを取得することです。
私はcallBackFunc(項目[i]を呼び出すときに私はjQueryのCSSプロパティを持っていると私はjQueryオブジェクトを持っていた場合、私は$(この)の.css(...)を行うことができることを知っているので、
)、どのように私はjqueryオブジェクトに私のコールバック関数では、私はnode.css(......)することができますitems [i]を変換することができますか?
私は$(items [i] .id)を行うことができたと思いますが、おそらくそれが最も簡単でしょう。
フォントサイズがcssクラスで宣言されていて、そのCSSクラスが要素にアタッチされていても、javascriptで簡単にフォントサイズを判断できますか?
!同じサイズの重要な!でCSSを追加して、デフォルト設定を上書きすることができます。しかし、それは実際のCSSファイルを編集するためにPHPスクリプトを書くことはほとんど簡単に思えるだろうし、javascriptでそれを行う。なぜユーザーのブラウザをこのような作業をさせるのですか? – qw3n