一个jquery的问题

qiaowan19900712 2013-02-16 10:08:24
想选择出id不为year 并且 style='BACKGROUND: yellow' 的span标签
不知道怎么写 第一步我先测试的$("span[style='BACKGROUND: yellow']")结果查不到结果 为什么
...全文
273 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
suciver 2013-02-17
  • 打赏
  • 举报
回复
跟通配符没有关系,这是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。
qiaowan19900712 2013-02-17
  • 打赏
  • 举报
回复
引用 3 楼 lvzg_005 的回复:
$("span[style*='BACKGROUND: yellow']") 你加了一个通配符找到了目标元素,通配符主要是找包含了这个值的属性而已。 但是$("span[style='BACKGROUND: yellow']")这种方式就要严格保持一致,style必须='BACKGROUND: yellow' ,多分号,多空格都不行。 建议用1L的方法。。 引用 1 楼 suci……
恩恩 呵呵 。
qiaowan19900712 2013-02-17
  • 打赏
  • 举报
回复
引用 2 楼 sunjixiang12 的回复:
alert(jQuery("span[style*='BACKGROUND: yellow']").html()); <span style="width: 200px;background: yellow;">sss</span> 我试着可以啊,我加了一个模糊匹配符
我也用过通配符 但是确实找不到 是不是与浏览器有关啊 我用的ie
qiaowan19900712 2013-02-17
  • 打赏
  • 举报
回复
引用 1 楼 suciver 的回复:
$("span[id!=year]").filter(function(index){ return this.style.backgroundColor=='yellow'; });
这个方法看着行 但是可不可以解释一下 上面的为啥不行啊
qiaowan19900712 2013-02-17
  • 打赏
  • 举报
回复
引用 9 楼 suciver 的回复:
跟通配符没有关系,这是css的特点,html元素中的style并不想其它属性是字符串型的,他是一个cssObject也是键值对形式的object所以你用style这个属性是找不到的,要不jquery也不会提供css方法了。 $("span[id!=year]").filter(function(index){ return this.style.backgroundColor=='yel……
哇塞 研究的这么透彻 谢了
sunjixiang12 2013-02-16
  • 打赏
  • 举报
回复

alert(jQuery("span[style*='BACKGROUND: yellow']").html());
<span style="width: 200px;background: yellow;">sss</span>
我试着可以啊,我加了一个模糊匹配符
suciver 2013-02-16
  • 打赏
  • 举报
回复
$("span[id!=year]").filter(function(index){ return this.style.backgroundColor=='yellow'; });
_南天北落 2013-02-16
  • 打赏
  • 举报
回复
学习
爱T 2013-02-16
  • 打赏
  • 举报
回复
虽然问题解决了 但不妨提供另一个简单的思维, id是不可以重复,但class是可以的 你可以把那些非year的属性都设置成相同的class 呵呵 也是一个方法
lvzg_005 2013-02-16
  • 打赏
  • 举报
回复
$("span[style*='BACKGROUND: yellow']") 你加了一个通配符找到了目标元素,通配符主要是找包含了这个值的属性而已。 但是$("span[style='BACKGROUND: yellow']")这种方式就要严格保持一致,style必须='BACKGROUND: yellow' ,多分号,多空格都不行。 建议用1L的方法。。
引用 1 楼 suciver 的回复:
$("span[id!=year]").filter(function(index){ return this.style.backgroundColor=='yellow'; });

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧