想选择出id不为year 并且 style='BACKGROUND: yellow' 的span标签
不知道怎么写 第一步我先测试的$("span[style='BACKGROUND: yellow']")结果查不到结果 为什么 

解决方案 »

  1.   

    $("span[id!=year]").filter(function(index){
       return this.style.backgroundColor=='yellow';
    });
      

  2.   


    alert(jQuery("span[style*='BACKGROUND: yellow']").html());
    <span  style="width: 200px;background: yellow;">sss</span>
    我试着可以啊,我加了一个模糊匹配符
      

  3.   

    $("span[style*='BACKGROUND: yellow']") 
    你加了一个通配符找到了目标元素,通配符主要是找包含了这个值的属性而已。
    但是$("span[style='BACKGROUND: yellow']")这种方式就要严格保持一致,style必须='BACKGROUND: yellow' ,多分号,多空格都不行。
    建议用1L的方法。。
      

  4.   

    虽然问题解决了
    但不妨提供另一个简单的思维,
    id是不可以重复,但class是可以的
    你可以把那些非year的属性都设置成相同的class
    呵呵 也是一个方法
      

  5.   

    跟通配符没有关系,这是css的特点,html元素中的style并不想其它属性是字符串型的,他是一个cssObject也是键值对形式的object所以你用style这个属性是找不到的,要不jquery也不会提供css方法了。
    $("span[id!=year]").filter(function(index){
       return this.style.backgroundColor=='yellow';
    });
    这种写法就是先得到id不为year的span元素再从这些元素中取得backgroundColor为yellow的元素。其实你在style下写background:yellow,流浪器内部是会把它作为一个cssObject,background是按顺序分别是
    color,image,repeat,attachment,position赋值的。只写颜色它会赋值给backgroundColor。