-4

javascript/jquery を div または iframe 内のすべてにのみ適用する方法を知っている人はいますか?

例として、テキストの色を変更するクールな JavaScript 関数がありますが、div または iframe 内のテキストのみを変更したい場合に、テキストのページ全体の色を変更します。

何か案は?

ここにいくつかのコードがあります:

<script type="text/javascript">
    $(document).ready(function() { //  When the document is ready
    $.foo({
            fontchange: true,             //  Make the text pretty
        });
    });
</script>

編集:これは価値があるよりも多くの問題のようです。助けてくれてありがとう。

4

3 に答える 3

4

コードが投稿された後に回答を更新しました:

投稿されたコード$.foo({fontchange: true})は、選択した要素のセットでは機能しないという点で、やや珍しい jQuery プラグインを使用していることを示唆しています。これはプラグインが通常どのように機能するかではないため、どのプラグインを扱っているかを知らずにはどうすることもできません (おそらく、プラグインのドキュメントには、よりターゲットを絞ったものにする方法が記載されています)。

jQuery プラグインの通常の使用法は、最初に操作する要素のセット、通常のセレクター (以下を参照) を取得し、次にそれらに対してプラグイン関数を呼び出すことです。例: $("some selector here").foo({fontchange: true});. しかし、それはこの特定の珍しいプラグインが機能するように見える方法ではありません.


元の答え:

質問にタグを付けたので、 CSS3セレクター(およびその他のいくつか)と関数jqueryを記述できるページ上の任意の要素または要素のセットの周りにjQueryラッパーを取得できます。これは通常、そのエイリアス。jQuery$

たとえば、 of がある場合dividこれはCSS セレクターを使用して"foo"その jQuery インスタンスを取得します。div#foo

var foo = $("#foo");

span内に多数の がある場合div、通常の子孫セレクター構文を使用してそれらを取得できます。

var spans = $("div span");
于 2012-04-23T11:28:28.393 に答える
1

あなたの関数はおそらくdocument.body、ノードを変更するためにある時点で参照します。の代わりにdocument.body、何か他のものを与えてください。ほとんどの要素の場合、要素を渡すだけで問題ありません。ただし、の場合、iframe内部のページは同じオリジン (スキーム、ホスト、ポート) からのものである必要があり、フレームcontentDocument(およびオプションでそこからの特定の要素) を渡す必要があります。

于 2012-04-23T11:26:04.943 に答える
1

ほとんどの jQuery 呼び出しは、「セレクター」と呼ばれるものを使用して、処理する要素を選択します。あなたのコードはおそらく次のようになります。

$('body').do_cool_stuff();

体全体を選択します。 'body'そこにセレクターがあり、次のように変更できます。

$('#somediv').do_cool_stuff();

単一の div のみを選択するには:

<div id='somediv'>...</div>

#セレクターの は の属性に対応しidますdiv

編集、コードができたので、 に変更$.foo(...)してみてください$('#somediv').foo(...)

于 2012-04-23T11:28:26.640 に答える