jquery操作css属性

这里主要说一下,在写nodebb插件的时候,遇到的有关css属性操作的问题。

W3School上面是这个样子的

  • $(selector).css(name,value)
$("p").css("color","red");
  • $(selector).css(name,function(index,value))
$("p").css("color",function(){return "red";})
  • $(selector).css({property:value, property:value, ...})
$("p").css({
  "color":"white",
  "background-color":"#98bf21",
  "font-family":"Arial",
  "font-size":"20px",
  "padding":"5px"
  });

使用attr
attr(name) 取得第一个匹配元素的属性值.

$("input").attr("value")

将一个"名/值"形式的对象设置为所有匹配元素的属性

$("input").attr({ value: "txt", title: "text" });

attr(key,value) 为所有匹配的元素设置一个属性值

 $("input").attr("value","txt");

attr(key,fn) 为所有匹配的元素设置一个计算的属性值

$("input").attr("title", function () { return this.value });

removeAttr(name) 从所有匹配的元素中删除一个属性

$("input").removeAttr("value");

使用style

document.getElementById("myDIV").*style*.*display* = "none";

好吧,事实上,我这些都尝试了,最后选用了.css来操作属性。但还是有疑问,为什么.attr就不可以呢?

css("color","red");这样可以用的。但是attr("color","red")好像不可以这样用,attr的作用就是有一些html元素的属性jquery没有去封装,然后你又想用这些属性,就可以用attr,但是jquery都给你封装了css你在用attr("color","")就不产生效果了。

jquery中的css()是用来操纵style{}的,而attr()是加在标签内部的 。所以利用attr()修改的样式会优先css()修改的样式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 3,482评论 0 44
  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 673评论 0 3
  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    前端进阶之旅阅读 16,686评论 18 503
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,069评论 0 2
  • 欲速则不达,很多时候,你和成功之间就隔着一个"急"的距离。 2017年10月10日 星期二 雨 文|深海梦影 -1...
    深海梦影阅读 980评论 30 14