电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

淺談js中的attributes和Attribute的用法與區(qū)別

瀏覽:134日期:2024-04-30 08:59:41

一:Attribute的幾種用法和含義(attributes和Attribute都是用來操作屬性的)

getAttribute:獲取某一個屬性的值;setAttribute:建立一個屬性,并同時給屬性捆綁一個值;createAttribute:僅建立一個屬性;removeAttribute:刪除一個屬性;getAttributeNode:獲取一個節(jié)點作為對象;setAttributeNode:建立一個節(jié)點;removeAttributeNode:刪除一個節(jié)點;

1.getAttribute:

<body> <div id = 't'><input type = 'hidden' value = 'aaa'></div></body><script> var d=document.getElementById('sss').getAttribute('value'); console.log(d) //aaa;</script>

get 取得的返回值是屬性值。

2.setAtribute:

<div id = 't'><input type = 'hidden' value = 'aaa'></div></body><script> var d = document.createAttribute('good'); document.getElementById('sss').setAttributeNode(d); alert(document.getElementById('t').innerHTML) //彈出框<input type='hidden' value='aaa' good=''>;//多了一個屬性為good;但是沒有給其設(shè)置屬性值;所以為空。</script>

// obox.setAttribute('a','b') 返回值是undifined;表示給標(biāo)簽里面加上一個屬性a;屬性值 // 為b;若設(shè)置的屬性已經(jīng)存在,那么僅限設(shè)置/更改值;直接設(shè)置 //給了標(biāo)簽,看不到返回值,但在html頁面中可以看到屬性已經(jīng)被添加到了標(biāo)簽中。

3.createAttribute:

<body><div id = 't'><input type = 'hidden' value = 'aaa'></div></body><script> var d = document.createAttribute('good'); document.getElementById('sss').setAttributeNode(d); alert(document.getElementById('t').innerHTML) //彈出框<input type='hidden' value='aaa' good=''>; //多了一個屬性,屬性值為空</script>

4.removeAttribute:

<body><div id = 't'><input type = 'hidden' value = 'aaa'></div></body><script> var d = document.getElementById('sss').getAttributeNode('value')console.log(d) // value='aaa' document.getElementById('sss').removeAttributeNode(d); alert(document.getElementById('t').innerHTML); //彈出框<input type = 'hidden' id = 'sss'>; //在標(biāo)簽中刪除屬性value</script>

getAttribute,setAttribute,createAttribute,removeAttribute四兄弟的概念比較容易理解,使用方法也比較簡單,唯一需要注意這幾點:1、createAttribute在使用的時候不需要基于對象的,document.createAttribute()就可以。2、setAttribute,createAttribute在使用的時候如果是使用的時候不要使用name,type,value等單詞.3、createAttribute在使用的時候如果只定義了名字,沒有d.nodeValue = 'hello';語句定義值,F(xiàn)F會認(rèn)為是一個空字符串,IE認(rèn)為是undefined。

getAttributeNode,setAttributeNode,removeAttributeNode三個方法的特點是都直接操作一個node(節(jié)點)。

例:

<body><div id = 't'><input type = 'hidden' value = 'aaa'></div></body><script> var d = document.createAttribute('good'); document.getElementById('sss').setAttributeNode(d); alert(document.getElementById('t').innerHTML); //彈出框<input type='hidden' value='aaa' good=''>;</script>

setAttributeNode() 方法用于添加新的屬性節(jié)點。參數(shù):attributenode;必須填寫你要添加的屬性節(jié)點。

如果元素中已經(jīng)存在指定名稱的屬性,那么該屬性將被新屬性替代。如果新屬性替代了已有的屬性,則返回被替代的屬性,否則返回 NULL。

======================================================================

二:attributes的用法:

attributes可以獲取一個對象中的一個屬性,并且作為對象來調(diào)用,注意在這里要使用“[]”;attributes 屬性返回指定節(jié)點屬性的集合。你可以使用 length 屬性確定屬性的數(shù)量,然后你可以遍歷所有的屬性節(jié)點提取你想要的信息。每個屬性都是可用屬性節(jié)點對象。

節(jié)點的方法,前綴一定是節(jié)點。

對象.attributes //獲得所有屬性節(jié)點,返回一個數(shù)組(偽數(shù)組)

<body> <div id = 't'> <input type = 'text' value = 'aaa'></body><script type='text/javascript'> var a=document.getElementById('sss').attributes; console.log(a); //NamedNodeMap {0: type, 1: id, 2: value, type: type, id: id, value: value, length: 3}; //attributes獲得所有的屬性節(jié)點,返回一個數(shù)組(偽數(shù)組); // attributes可以獲取一個對象中的一個屬性,并且作為對象來調(diào)用,注意在這里要使用“[]” var d = document.getElementById('sss').attributes['value']; console.log(typeof d); // object console.log(d); // value='aaa'; document.write(d.name); //顯示 value document.write(d.value); //顯示 aaa</script>

<body> <div a='10' b='20' id='cont'></div></body><script> var obox=document.querySelector('.box'); console.log(obox.attributes[3]) //id='cont'; console.log(typeof obox.attributes[3]) //object; console.log(obox.attributes[3].nodeName); //id;顯示數(shù)組中第四個屬性的屬性名 console.log(obox.attributes[3].nodeValue); //cont;顯示數(shù)組中第四個屬性的屬性值 console.log(obox.attributes[3].nodeType); //2; 元素節(jié)點屬性的返回值為2</script>

到此這篇關(guān)于淺談js中的attributes和Attribute的用法與區(qū)別的文章就介紹到這了,更多相關(guān)js中attributes和Attribute內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 儿童语言障碍训练-武汉优佳加感统文化发展有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 美国HASKEL增压泵-伊莱科elettrotec流量开关-上海方未机械设备有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 智慧钢琴-电钢琴-便携钢琴-数码钢琴-深圳市特伦斯乐器有限公司 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 上海诺狮景观规划设计有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 泰安塞纳春天装饰公司【网站】| 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | 河南凯邦机械制造有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 风电变桨伺服驱动器-风电偏航变桨系统-深圳众城卓越科技有限公司 | 佛山市德信昌电子有限公司| 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 定制/定做衬衫厂家/公司-衬衫订做/订制价格/费用-北京圣达信 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 陕西自考报名_陕西自学考试网| 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 |