-3

jQuery 选择器

选择特定的跨度标签

我在使用 jQuery 的选择器时遇到了这个问题。这是几个小时的问题。它无法选择我想要操作的特定跨度标签,这就是为什么我一直在用这个标签挠头。

我的目标是为每个具有不同样式值的 span 标签添加不同的类。因此我几乎成功了,我无法弄清楚如何为每个跨度标签添加不同的类,所以我最终一无所知。

我基本上希望字体大小为 180% 的跨度位于特定类中并不重要,这实际上是因为如果代码有效,我可以稍后更改它。另一个字体大小为 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 回答