属性分为固有属性property和自定义属性attribute

固有属性查看

固有属性可以通过ele.property 来获取,自定义属性不行

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var input=document.querySelector("input");
  16. console.log(input.type);//text
  17. console.log(input.value);//txt
  18. console.log(input.a);//undefined
  19. console.log(input.title);//""
  20.  
  21. });
  22.  
  23. </script>
  24. </head>
  25. <body>
  26. <input type="text" value="txt" a="b">
  27. </body>
  28. </html>

.attributes 返回类数组,获取所有属性,包括自定义属性和固有属性

如果定义了同名属性,后面的属性会被忽略

如果自定义属性时出现了大写,会统一转为小写

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.querySelector("#div");
  16. console.log(div.attributes);//
  17.  
  18. });
  19.  
  20. </script>
  21. </head>
  22. <body>
  23. <div id="div" url="index.html" aa="xx" Bb="yy" aa="zz">这是div</div>
  24. </body>
  25. </html>

获取指定的自定义属性的属性值

ele.attributes.getNamedItem(属性名).nodeValue

ele.attributes[属性名].nodeValue

注意,如果某个固有属性没有在元素中被人为定义,则不可获取

如果是人为定义的固有属性,或者自定义属性,则可以用该方法获取

.nodeName 获取元素的节点名

ele.attributes.removeNamedItem(属性名)   移除属性

创建属性:

1、.createAttribute(属性名)  创建属性

2、attr.value=属性值   给创建的属性设置属性值

3、.attributes.setNamedItem(属性名,属性值)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.querySelector("#div");
  16. //获取自定义属性方法一
  17. console.log(div.attributes.getNamedItem("aa").nodeValue);//xx
  18. //获取自定义属性方法二
  19. console.log(div.attributes["aa"].nodeValue);//xx
  20. //获取未人为定义的固有属性
  21. console.log(div.attributes.getNamedItem("nodeName"));//null
  22. //获取固有属性的正确打开方式
  23. console.log(div.nodeName);//DIV
  24. //获取人为定义的固有属性
  25. console.log(div.attributes.getNamedItem("id").nodeValue);//div
  26.  
  27. // 移除属性
  28. div.attributes.removeNamedItem("bb");
  29. console.log(div.attributes);
  30.  
  31. //创建属性
  32. var attr=document.createAttribute("data-my");
  33. attr.value="myattr";
  34. div.attributes.setNamedItem(attr);
  35. });
  36.  
  37. </script>
  38. </head>
  39. <body>
  40. <div id="div" url="index.html" aa="xx" Bb="yy" aa="zz">这是div</div>
  41. </body>
  42. </html>

获取未人为定义的固有属性,返回null

获取未人为定义的固有属性的nodeValue,会报错

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.querySelector("#div");
  16.  
  17. //获取未人为定义的固有属性
  18. console.log(div.attributes.getNamedItem("title"));//null
  19. console.log(div.attributes.getNamedItem("title").nodeValue);//报错
  20.  
  21. });
  22.  
  23. </script>
  24. </head>
  25. <body>
  26. <div id="div" url="index.html" aa="xx" Bb="yy" aa="zz">这是div</div>
  27. </body>
  28. </html>

用.innerHTML来操作固有属性

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.querySelector("#div");
  16. div.innerHTML="这是innerHTML设置的文本哈";
  17. console.log(div.innerHTML);//这是innerHTML设置的文本哈
  18.  
  19. });
  20.  
  21. </script>
  22. </head>
  23. <body>
  24. <div id="div" url="index.html" aa="xx" Bb="yy" aa="zz">这是div</div>
  25. </body>
  26. </html>

通用方法操作固有属性和自定义属性

getAttribute()

setAttribute()

removeAttribute()

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.querySelector("#div");
  16. console.log(div.getAttribute("aa"));//xx
  17.  
  18. console.log(div.getAttribute("style"));//color:orange
  19. console.log(div.style);//CSSStyleDeclaration {0: "color", alignContent: "", alignItems: "", alignSelf: "", alignmentBaseline: "", all: "", …}
  20.  
  21. console.log(div.getAttribute("onclick"));//alert('hello~')
  22. console.log(div.onclick);//onclick(event) {alert('hello~')}
  23.  
  24. });
  25.  
  26. </script>
  27. </head>
  28. <body>
  29. <div id="div" url="index.html" aa="xx" Bb="yy" aa="zz" style="color:orange" onclick="alert('hello~')">这是div</div>
  30. </body>
  31. </html>

以上代码表明,使用getAttribute() 和 .属性名  来获取属性值,在某些情况下结果是不同的,比如style和Onclick

通常,获取固有属性使用 .属性名,获取自定义属性使用getAttribute()

setAttribute() 设置自定义属性时,不存在兼容性问题

但是设置部分固有属性,比如onclick和style时,在IE7及以下版本存在兼容性问题

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.querySelector("#div");
  16. // 设置自定义属性
  17. div.setAttribute("data-a","a");
  18. div.setAttribute("style","color:purple");
  19. div.setAttribute("onclick","alert(0)");
  20. });
  21.  
  22. </script>
  23. </head>
  24. <body>
  25. <div id="div" url="index.html">这是div</div>
  26. </body>
  27. </html>

正常浏览器效果

IE7及以下效果

由于不支持querySelector方法,先改成document.getElementById()

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.getElementById("div");
  16. // 设置自定义属性
  17. div.setAttribute("data-a","a");
  18. div.setAttribute("style","color:purple");
  19. div.setAttribute("onclick","alert(0)");
  20. });
  21.  
  22. </script>
  23. </head>
  24. <body>
  25. <div id="div" url="index.html">这是div</div>
  26. </body>
  27. </html>

不再报错,但设置的style属性和onclick方法都没有生效

removeAttribute() 删除属性,不存在兼容性问题

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var div=document.getElementById("div");
  16. // 设置自定义属性
  17. div.removeAttribute("style");
  18. });
  19.  
  20. </script>
  21. </head>
  22. <body>
  23. <div id="div" url="index.html" style="color:orange">这是div</div>
  24. </body>
  25. </html>

布尔属性

通过布尔属性操作DOM

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var inputs=document.querySelectorAll("input");
  16. inputs[0].checked=true;
  17. });
  18.  
  19. </script>
  20. </head>
  21. <body>
  22. <input type="checkbox" name="city">杭州
  23. <input type="checkbox" name="city" checked="checked">宁波
  24. <input type="checkbox" name="city" checked>温州
  25. </body>
  26. </html>

input.checked 设置成任何非空字符串,都换转为布尔值true,都可以选中

但这种自动转换在IE7以下会失败

另外固有属性不能通过removeAttribute() 来移除

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var inputs=document.querySelectorAll("input");
  16. inputs[0].checked=true;
  17. inputs[0].checked="checked";
  18. inputs[0].checked=1;
  19.  
  20. inputs[1].checked=0;
  21. inputs[1].checked="";
  22.  
  23. inputs[1].removeAttribute("checked");
  24. });
  25.  
  26. </script>
  27. </head>
  28. <body>
  29. <input type="checkbox" name="city">杭州
  30. <input type="checkbox" name="city" checked="checked">宁波
  31. <input type="checkbox" name="city" checked>温州
  32. </body>
  33. </html>

.options 可以获取select下的所有option选项

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. </style>
  12. <script src="DomReady.js"></script>
  13. <script>
  14. myReady(function(){
  15. var select=document.getElementById("select");
  16. var options=select.options;
  17. options[1].selected=true;
  18. });
  19.  
  20. </script>
  21. </head>
  22. <body>
  23. <select name="select" id="select">
  24. <option value="">请选择</option>
  25. <option value="1">杭州</option>
  26. <option value="2">宁波</option>
  27. <option value="3">温州</option>
  28. </select>
  29. </body>
  30. </html>

.readOnly 只读属性 (注意O必须大写)

.disabled 禁用属性

区别:readOnly数据可以提交到服务器,disabled数据不会提交到服务器

select的multiple属性  设置多选,下拉框变列表框

HTML5新增属性hidden  使元素不再显示(低版本IE无法兼容)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. input{
  12. display: block;
  13. margin-bottom:10px;
  14. }
  15. </style>
  16. <script src="DomReady.js"></script>
  17. <script>
  18. myReady(function(){
  19. var input=document.getElementById("input");
  20. input.readOnly=false;
  21.  
  22. var input2=document.getElementById("input2");
  23. input2.disabled=true;
  24.  
  25. var select=document.getElementById("select");
  26. select.multiple=true;
  27.  
  28. var div=document.getElementById("div");
  29. div.hidden=false;
  30. });
  31.  
  32. </script>
  33. </head>
  34. <body>
  35. <input type="text" value="中国" readonly id="input">
  36. <input type="text" value="中国" id="input2">
  37. <select name="select" id="select">
  38. <option>杭州</option>
  39. <option>宁波</option>
  40. <option>温州</option>
  41. </select>
  42. <div id="div" hidden="hidden">这是div</div>
  43. </body>
  44. </html>

 常见的字符串属性(大部分都是字符串属性)

id  唯一标识

class  类

href  多用于a链接和link

src  多用于img和script和video等等

lang  辅助搜索引擎等的语言识别  <html land="zh">

zh 中文  zh-cn 中文简体  zh-sg  新加坡  zh-hk  香港

accesskey  组合键,快捷键

在谷歌浏览器中使用alt+设置的快捷键字母来激活

name  多用于表单元素的控件名称

value  表单元素的值

title 元素不可见时的提示信息


W3C全局属性

accesskey   class  dir  id  lang  title

contenteditable  元素内容是否可编辑

hidden  元素是否隐藏

spellcheck 元素内容编辑时的语法检查

style  样式

tabindex  使用tab键导航时的切换顺序


当一个页面中有多个元素使用相同的id时,使用document.getElementById()能够取得元素,但是只会取得第一个

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. input{
  12. display: block;
  13. margin-bottom:10px;
  14. }
  15. .active{
  16. color:orange;
  17. }
  18. </style>
  19. <script src="DomReady.js"></script>
  20. <script>
  21. myReady(function(){
  22. var p=document.getElementById("p");
  23. console.log(p);//<p id="p">这是一段文字1</p>
  24.  
  25. var p=document.getElementById("p");
  26. p.className="active";
  27. });
  28.  
  29. </script>
  30. </head>
  31. <body>
  32. <p id="p">这是一段文字1</p>
  33. <p id="p">这是一段文字2</p>
  34.  
  35. <input type="text" accesskey="n" value="n"><!-- alt+n -->
  36. <input type="text" accesskey="m" value="m"><!-- alt+m -->
  37. </body>
  38. </html>

data属性  以data-开头

设置时多单词以连字符分开,如data-aa-bb

JS获取时使用dataset.属性名  后面需要转换成小驼峰形式

但是IE浏览器兼容性不是很好

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. input{
  12. display: block;
  13. margin-bottom:10px;
  14. }
  15. .active{
  16. color:orange;
  17. }
  18. </style>
  19. <script src="DomReady.js"></script>
  20. <script>
  21. myReady(function(){
  22.  
  23. var div=document.getElementById("div");
  24. console.log(div.dataset.toggle);//modal
  25. console.log(div.dataset.xxxYyy);//aa
  26. });
  27.  
  28. </script>
  29. </head>
  30. <body>
  31.  
  32. <div id="div" data-toggle="modal" data-xxx-yyy="aa">这是验证data属性的div</div>
  33. </body>
  34. </html>

class属性

自定义class相关的操作方法

this指向当前对象

gi表示全局匹配且不区分大小写

str.replace(exp,str2)  将str字符串中,满足exp正则匹配的部分,用str2替换

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. input{
  12. display: block;
  13. margin-bottom:10px;
  14. }
  15. .active{
  16. color:orange;
  17. }
  18. </style>
  19. <script src="DomReady.js"></script>
  20. <script>
  21. myReady(function(){
  22.  
  23. var classMethod={
  24. //获取class
  25. getClass:function(ele){
  26. // 将多个空格统一转换为一个空格,并根据空格来将字符串转为数组
  27. return ele.className.replace(/\s+/," ").split(" ");
  28. },
  29. //判断是否存在某个class
  30. hasClass:function(ele,cls){
  31. // 给获取的class字符串前后加上空格,再给要查找的类名前后也加上空格
  32. // -1表示不存在,否则为存在
  33. return -1< (" "+ele.className+" ").indexOf(" "+cls+" ");
  34. },
  35. //添加class
  36. addClass:function(ele,cls){
  37. //this指向classMethod这个对象
  38. if(!this.hasClass(ele,cls)){
  39. ele.className+=" "+cls;
  40. }
  41. },
  42. //删除class
  43. removeClass:function(ele,cls){
  44. if(this.hasClass(ele,cls)){
  45. //gi表示全局匹配,且不区分大小写
  46. var exp=new RegExp("(^|\\s)"+cls+"($|\\s)","gi");
  47. ele.className=ele.className.replace(exp," ");
  48. }
  49. },
  50. //切换class
  51. toggleClass(ele,cls){
  52. if(this.hasClass(ele,cls)){
  53. this.removeClass(ele.cls);
  54. }else{
  55. this.addClass(ele,cls);
  56. }
  57. }
  58. }
  59.  
  60. var div=document.querySelector("div");
  61. console.log(classMethod.getClass(div));//(3) ["a", "b", "c"]
  62.  
  63. console.log(classMethod.hasClass(div,"a"));//true
  64. console.log(classMethod.hasClass(div,"z"));//false
  65.  
  66. classMethod.addClass(div,"z");
  67.  
  68. classMethod.removeClass(div,"z");
  69.  
  70. classMethod.toggleClass(div,"z");
  71. });
  72.  
  73. </script>
  74. </head>
  75. <body>
  76.  
  77. <div class="a b c">这是测试class相关的div</div>
  78. </body>
  79. </html>

js自带的classList对于class的操作

ele.classList.add(cls)

ele.classList.remove(cls)

ele.classList.toggle(cls)

ele.classList.contains(cls)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. width:100%;
  9. height:100%;
  10. }
  11. input{
  12. display: block;
  13. margin-bottom:10px;
  14. }
  15. .active{
  16. color:orange;
  17. }
  18. </style>
  19. <script src="DomReady.js"></script>
  20. <script>
  21. myReady(function(){
  22.  
  23. var div=document.querySelector("div");
  24. console.log(div.classList.add("z"));
  25. console.log(div.classList.toString());//a b c z
  26.  
  27. console.log(div.classList.remove("a"));
  28. console.log(div.classList.toString());//b c z
  29.  
  30. console.log(div.classList.contains("b"));//true
  31. console.log(div.classList.toString());//b c z
  32.  
  33. console.log(div.classList.toggle("c"));//false
  34. console.log(div.classList.toString());//b z
  35. });
  36.  
  37. </script>
  38. </head>
  39. <body>
  40.  
  41. <div class="a b c">这是测试class相关的div</div>
  42. </body>
  43. </html>

可惜兼容性是:IE11+

JS DOM属性,包括固有属性和自定义属性,以及属性获取、移除和设置的更多相关文章

  1. js便签笔记(2)——DOM元素的特性(Attribute)和属性(Property)

    1.介绍: 上篇js便签笔记http://www.cnblogs.com/wangfupeng1988/p/3626300.html最后提到了dom元素的Attribute和Property,本文简单 ...

  2. JS获取网页属性包括宽、高等

    JS获取网页属性包括宽.高等. function getInfo()  { // www.jbxue.com var s = "";  s += " 网页可见区域宽:&q ...

  3. js Dom对象的属性与方法

    1.对象集合:      (1).all[];      (2).images[];      (3).anchors[];      (4).forms[];      (5).links[];   ...

  4. JS DOM操作(三) Window.docunment对象——操作属性

    属性:是对象的性质与对象之间关系的统称.HTML中标签可以拥有属性,属性为 HTML 元素提供附加信. 属性总是以名称/值对的形式出现,比如:name="value". 属性值始终 ...

  5. js dom 的常用属性和方法

    1.对象集合:      (1).all[];      (2).images[];      (3).anchors[];      (4).forms[];      (5).links[];   ...

  6. js系列教程2-对象、构造函数、对象属性全解

    全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...

  7. jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

    jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...

  8. JS Foo.getName笔试题解析,杂谈静态属性与实例属性,变量提升,this指向,new一个函数的过程

     壹 ❀ 引 Foo.getName算是一道比较老的面试题了,大致百度了一下在17年就有相关文章在介绍它,遗憾的是我在19年才遇到,比较奇妙的是现在仍有公司会使用这道题.相关解析网上是有的,这里我站在 ...

  9. js面向对象(一)---基本的概念、属性、方法

    一.什么是面向对象编程 1.用对象的思想去写代码,就是面向对象编程 2.我们一直在使用对象,如数组Array    时间Date //我们把系统自带的对象,叫做系统对象 var arr = new A ...

随机推荐

  1. [HAOI2015]树上操作(树链剖分)

    [HAOI2015]树上操作(luogu) Description 题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增 ...

  2. Java基础语法面试题50题整理(带答案)

    嗯,之前某些原因整理了这份面试题,加油生活 (:   0,嗯,先做简单的,那个不对() 1,int [] sy = {0,9,2,3}; 2,int [] sy1 = new int[4]; 3,in ...

  3. mybatis 源码分析中的知识点

    1. resultMap 和 resultType  之间的优劣 resultMap: 在联合查询的时候, 可以不用写Join (因为在resultMap 的定义里面已经写了这些东西了<asso ...

  4. springBoot 启动没有数据库配置报错

    在没有配置数据库的时候, 直接启动springBoot 项目 会有报错 Description: Failed to configure a DataSource: 'url' attribute i ...

  5. SpringCloud与微服务Ⅱ --- 微服务概述

    一.什么是微服务 1) Martin Fowler论文对微服务的阐述(中文版) 2) 对单一应用进行拆分 3) 每一个独立的应用都有一个独立的进程 4) 拥有自己独立的数据库 5) 微服务化的核心就是 ...

  6. ajax 后台java代码执行完毕 前端报404错误

    一个ajax请求,到java后台代码,后台成功接受并执行相应处理,但是返回的时候,success却没进去,前端报404错误. 因为是由于Controller忘记写spring的@Responsebod ...

  7. 五大常见算法策略之——动态规划策略(Dynamic Programming)

    Dynamic Programming   Dynamic Programming是五大常用算法策略之一,简称DP,译作中文是"动态规划",可就是这个听起来高大上的翻译坑苦了无数人 ...

  8. svn: Can't connect to host '': 由于目标机器积极 原因及解决办法

    在dos环境下输入命令“svnserve -d --listen-port 3690 -r d:\svn” 这里“d:\svn” 是你在svn中创建的版本库路径,然后执行命令,记住窗口不能关闭,关闭之 ...

  9. Spring 依赖注入原理

    所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中.当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它.所以我们只需从容器直接获取Bean对象就行, ...

  10. linux下安装php的svn模块

    在php下为了方便使用svn命令,还是安装下php的svn扩展 首先确保机器上已经有lamp或lnmp环境,然后 >yum install subversion subversion-devel ...