10

リル・ヘルプ?私の jQuery.noob ステータスのために前もってお詫びしますが、これが機能しない理由については空白を描いています。ここにいる誰かが、私ではない何かを見ることができるのだろうか?助けていただければ幸いです。

問題

この Web ページには、クラスを追加したいいくつかの画像 (段落など) があります。現在、クラスはありません。

クラスを追加したい理由

CSS3 を使用して、そのクラスをターゲットにし、それを持つものをスタイルしたいと考えています。より具体的には、これはポップイン メニューになり、不透明度を調整し、その開始と終了をアニメーション化したいと考えています。

私がこれをやろうとしている方法

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $("document").ready(function() {
        $("img").addClass("menumain");
                   alert("Here I am!"); //This alert will go when I figure this out, I just added it to see if it pops up (it does).
    });
</script>

私もこの方法で試してみました(注:私の画像にはすべて、ファイル名に文字列「menumain-」が含まれています

<script type="text/javascript" src="../jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $("document").ready(function() {
        $("img[src*=menumain-]").attr({class:"menumain"});

    });
</script>

では、試してみるとどうなりますか?

何もない。ページをロードし (アラートはポップアップしますが、無視します)、firebug や Safari 開発者ツールなどを使用して本文を展開し、ページ上の画像にドリルダウンします。画像の属性は表示されますが、クラスが追加された場所はわかりません。ましてや、クラスにしたい「menumain」として定義されているわけではありません。

これが私を夢中にさせる理由の一部

同じページに、似たようなことをする別の jQuery スクリプトがあります。クラス属性ではなく、ページ全体を囲むメインの Div に他の属性を追加します。その jQuery 関数には何の問題もないので、なぜこれが機能しないのかわかりません。

機能しない理由

日曜日から構文を 9 通り確認しましたが、何も問題はありません。それでも、校正構文がどのように機能するかはご存知でしょう。

第二に、私がターゲットにしている画像 (この同じクラスでタグ付けされたメニューのテキストとボタンも取得しようとしています) は、次のように Div に埋め込まれています。

<div id="image194" style="visibility: inherit;">
     <a name="image194anc">
          <img width="317" height="564" border="0" alt="menumain-bg-317x564"    src="images/menumain-bg-317x564.png" name="image194Img">
     </a>
</div>

$("img[src =menumain-]")* をターゲットにすると、Divs にあるかどうかに関係なく、これらの画像が見つかると思いますが、間違っているのでしょうか?

もう一つ

この「Web ページ」は、Trivantis の Lectora というアプリケーションによって生成されます。オンライン トレーニングを作成するインストラクショナル デザイナー (Web 開発者ではない) 向けの WYSIWYG オーサリング ツールです。つまり、DreamWeaver でこのすべてを作成しているわけでも、Web デザインへのアプローチ全体を変更できるわけでもありません。しかし、一連のページ要素でクラスをポップして、それらを CSS でターゲットにできるはずですよね?

何か間違っているところがあれば教えてください。これがページのバージョンです --> http://bit.ly/Rijnl8

4

5 に答える 5

5

jQuery には、クラスを追加するための組み込みメソッドがあります。

<script type="text/javascript" src="../jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("img[src*=menumain-]").addClass("menumain");

    });
</script>

http://api.jquery.com/addClass

于 2012-08-03T18:15:24.223 に答える
1

スタイリングしたい画像をコンテナー div 内に配置してから、

$('.container').addClass('yourClass');

次に、クラスで使用します

.yourClass img {}

これらのコンテナ内のすべての画像のスタイルを設定します。これは回避策ですが、問題を解決する必要があります。また、HTML5 では、タグtype="text/javascript"内でを使用する<script>必要がなくなりました。

于 2012-08-03T18:30:17.197 に答える
0

Lectora 11では、任意のオブジェクトにクラスを追加できます。オブジェクトを選択>[プロパティ]タブ>[外観]セクション>隅にある小さな矢印をクリックします。

于 2013-03-16T12:05:51.210 に答える
0

これはあなたが望むもののようですhttp://jsfiddle.net/dstarh/Kxfg7/1/

ページ上のすべての画像にクラスを追加する

于 2012-08-03T18:17:22.633 に答える
0

私が作成したアプリでこれを行う必要がありました。あなたは正しいことをしていますが、十分に行っていません。.attr 関数を使用するときに値を追加します。

$('.category').attr('theAttributeHere','theAttributeValueHere');
于 2012-08-03T18:13:01.743 に答える