-3

jQueryセレクター

特定のスパン タグの選択

jQueryのセレクターでこの問題が発生しました。何時間も問題でした。操作したい特定のスパンタグを選択できなかったため、これで頭を悩ませています。

私の目標は、異なるスタイル値を持つスパン タグごとに異なるクラスを追加することでした。したがって、ほとんど成功しましたが、各スパンタグに異なるクラスを追加する方法がわからなかったので、無知になりました。

基本的に、font-size が 180% のスパンを特定のクラスにすることは重要ではありません。これは、コードが機能する場合に後で変更できるためです。font-size が 100% の他の span タグにも、他のクラスというクラスが必要です。私が今やろうとしていることをより明確にしていただければ幸いです。少なくともそれが私が望んでいることです。

コードは以下のリンクにあります。お気軽に修正を投稿してください。必要に応じて、機能しなかった理由の説明は必要ありません。ありがとうございました。

jQuery 提出: JS Bin Post

コード自体もここにあります。

    var val1 = "font-size: 180%";
    var val2 = "font-size: 100%";
    var title = $("span").attr("style");
    
    $(function(){
    if ($("span:contains('font-size: 100%')")) {
      $('span').addClass("text_shadow2");
      if ($('span').has("text_shadow1")) {
         $('span').removeClass("text_shadow1");
      }
    }
        if ($("span:contains('font-size: 180%')")) {
           $('span').addClass("text_shadow1");
           if ($('span').has("text_shadow2")) {
               $('span').removeClass("text_shadow2");
           }
        }
        },function(){
        if ($("span:contains('font-size: 100%')")) {
        $('span').addClass("text_shadow2");
        if ($('span').has("text_shadow1")) {
              $('span').removeClass("text_shadow1");
           }
        }
        if ($("span:contains('font-size: 180%')")) {
        $('span').addClass("text_shadow1");
            if ($('span').has("text_shadow2")) {
               $('span').removeClass("text_shadow2");
               }
        }
    });

    if ($(val1==title)) {alert("1. "+title);} 
    if ($(val2==title)) {alert("2. "+title);}
4

1 に答える 1

1

スタイル属性を解析するには、このようなことを行うことができます。ブラウザは font-size プロパティをパーセンテージに設定しませんが、代わりに計算を行います

$('span').filter(function(){
    return $(this).attr('style').match('180%');
}).addClass('someClass');

デモ: http://jsfiddle.net/AbZBD/

于 2012-04-10T01:32:54.560 に答える