0

そのため、Chromeで拡張機能(私が行っているプロジェクトのプロトタイプ)を作成しようとしています。この拡張機能は、<div>任意のWebページのすべてのタグを対象とし、ユーザーがマウスをクリックするまでタグを非表示にしたり、表示したりしません(さらに説明します)。下)。したがって、ブラウザにURLを入力すると、白いページが表示されます。人がクリックすると、最初の人が表示され<div>ます(おそらくマストヘッドまたはメニュー)。ユーザーがもう一度クリックすると、2番目<div>が表示されます。

すべてを非表示または表示できるようになりましたが(明らかに簡単な部分)、タグ<div>を使用している間はWebサイトごとに異なるIDがあるため、それぞれをターゲットにする方法がわかりません。<div>これは私が最も助けを必要としているものです。

これは、Webクランクと呼ばれるより壮大な操作の一部です。これは、Webページの読み込み速度を制御する単なる物理的なクランクです。クランクを1回転させるたび<div>に、Webページの1つのセクション(最初のセクション)が読み込まれます。速く進むほど、ページの読み込みが速くなります。

これが十分に明確であることを願っています。私はこれに関しては初心者ですが、過去にいくつかのマイナーなコーディングを行ったことがあり、それほど大したことではありません。

ご協力いただきありがとうございます!

4

3 に答える 3

3

ライブラリなしでDOMのみを使用して、これを繰り返します。

document.getElementsByTagName("div")

ページ上のすべてのを取得<div>します。それらを反復処理するには、forループを使用します。

var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
  /* stuff */
}

jQuery(Chromeプラグインではおそらく使用しないでください...):

$("div").each(function(i) { /* whatever */ });

基本的にやりたいことは、すべてを繰り返してすべて<div>非表示にし、クランクをクランクするときに、イテレーターを呼び出して、それを通過して追加し直すことです。おそらく、FIFOキューを作成します(このように?)「クランクされる」要素を非表示にし、クランク操作が開始されると(ただし、これを実行すると)、キューからアイテムを引き出して、再び表示し始めます。

副次的な問題として、<div>すべてのブロックレベルの要素だけでなく、なぜそうなのですか?、、、、、、、および要素も検索することをお勧め<div>します。<p><blockquote><ol><ul><dl><table>

于 2010-06-07T02:12:49.673 に答える
0

ページ上のすべてのdivを取得できる場合は、それらを配列に貼り付けるだけで、インデックスを作成できます。

于 2010-06-07T02:04:35.680 に答える
-1

jQueryを使用できる場合は、.eachキーワードを使用してください。これにより、コレクションを繰り返して、それらに関するデータを収集したり、表示/非表示にしたりすることができます。

于 2010-06-07T02:02:28.490 に答える