`
mutongwu
  • 浏览: 450253 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HTML Element对象的属性遍历

    博客分类:
  • DOM
阅读更多
对于HTML Element对象,存在属性 attributes,包括了对象“所有”属性,通过对其遍历,可以获取我们所需要的信息,以便对DOM节点做进一步的处理,例如将DOM结构保存为XML或者字符串等。
function outputAttributes(element){
    var pairs = new Array();
    for(var i=0,len = element.attributes.length;i < len;i++){
        var name = element.attributes[i].nodeName;
        var value = element.attributes[i].nodeValue;
        pairs.push(name + '=\'' + value + '\'');
    }
    return pairs.join(' ');
}

每一个attribute属性有一个附加属性specified,当属性是HTML Element的属性(指写在代码中可见的),或者是通过setAttribute方法进行的添加的时候,它的值为 true。IE6,IE7在执行上述代码的时候,会把很多的内置属性(如:onclick,onmouseover,tabIndex)一起列出来,这些属性的specified默认是为false。因此,修改上传代码如下:
function outputAttributes(element){
    var pairs = new Array();
    for(var i=0,len = element.attributes.length;i < len;i++){
        var name = element.attributes[i].nodeName;
        var value = element.attributes[i].nodeValue;
        if(element.attributes[i].specified)
            pairs.push(name + '=\'' + value + '\'');
    }
    return pairs.join(' ');
}


例子
<div id='test' class="cls" dir="ltr" title="wott" SS='WWW' ss="ss"></div>


function fun(){
	var e = document.getElementById('test');
	e.setAttribute('title2', 'titlte2');
	alert(outputAttributes(e));
}

未使用specified过滤:



使用specified过滤:


  • 大小: 7.1 KB
  • 大小: 4.2 KB
分享到:
评论

相关推荐

    js Element Traversal规范中的元素遍历方法.docx

    JavaScript Element Traversal规范是DOM(文档对象模型)的一个扩展,旨在提供更方便的方式来遍历和访问HTML或XML文档中的元素。这个规范引入了一系列新的属性,使得开发者能够更加高效且一致地处理元素之间的关系,...

    JS遍历页面所有对象属性及实现方法

    首先,`for...in`循环是JavaScript中遍历对象属性的一种基本方式。在给出的示例中,我们创建了一个名为`myObject`的对象,并给它分配了三个属性:`sitename`, `siteurl`, 和 `sitecontent`。然后使用`for...in`循环...

    遍历页面控件换CSS

    通常,我们会在JavaScript中通过`element.style`对象来更改元素的样式。例如,改变一个元素的颜色: ```javascript var element = document.getElementById('myElement'); element.style.color = 'red'; ``` 在...

    jquery属性,遍历,HTML操作方法详解

    以下是对JQuery中一些关键的属性、遍历和HTML操作方法的详细解析: 1. **属性操作**: - `attr(name)`:获取指定属性`name`的值,如`$("element").attr("id")`。 - `attr(name, value)`:设置指定元素的属性`name...

    比较json对象中的两个数组含有的相同元素,点击按钮输出新的数组

    假设我们有两个JSON对象,`obj1`和`obj2`,它们各自包含一个数组属性,如`arr1`和`arr2`: ```json { "obj1": { "arr1": ["元素1", "元素2", "元素3", "元素4"] }, "obj2": { "arr2": ["元素2", "元素4", ...

    js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    在JavaScript中,我们可以使用`for...in`循环遍历对象的所有可枚举属性,从而获取键值和对应的值。以下是一个简单的函数`getObjectKeys`,用于获取对象的所有键: ```javascript function getObjectKeys(object) {...

    使用javascript遍历XML文件并显示

    然后,可以使用`childNodes`、`firstChild`、`lastChild`、`nextSibling`和`previousSibling`等属性遍历子节点。例如,遍历所有订单项: ```javascript var orderItems = rootElement.getElementsByTagName('item'...

    遍历网页中的元

    表单元素如`&lt;input&gt;`, `&lt;select&gt;`, 和`&lt;textarea&gt;`可以通过`document.forms`访问,然后通过它们的`elements`属性遍历: ```javascript let form = document.forms[0]; for (let i = 0; i ; i++) { let element = ...

    jstl 遍历_jstl遍历_源码.zip

    若要同时访问键和值,可以使用`varStatus`属性创建一个迭代状态对象。例如: ```jsp ${map}" var="entry" varStatus="status"&gt; Key: ${entry.key}, Value: ${entry.value} &lt;!-- 或者 --&gt; Key: ${status.index},...

    dom遍历所有xml节点,并且重新生成xml

    一个XML文档由元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)和处理指令(Processing Instruction)等节点组成。DOM将这些结构转换为对象,使我们可以通过编程方式操作它们。 在JavaScript中...

    java生成HTML控件:ECS(Element Construction Set)

    ECS(Element Construction Set)是Java开发中的一种中间件,其主要目的是为了简化HTML的创建和操作过程,通过面向对象的方式让开发者能够更加便捷地处理HTML元素。在Java Web开发中,ECS作为一种强大的工具,使得...

    python教程lxml详解

    - 树遍历:Element对象的getchildren()返回子元素列表,iter()方法用于迭代遍历所有子元素,find()和findall()方法根据XPath或CSS选择器查找子元素。 3. XPath和CSS选择器:XPath是强大的定位XML元素的语言,lxml...

    jsoup提取.html部分属性

    这个`Document`对象代表了整个HTML结构,我们可以从中获取元素、属性和其他信息。 **HTML元素的提取** JSoup提供了丰富的API来选择和操作HTML元素。例如,我们可以使用CSS选择器来选取特定的元素。假设我们想要...

    simple_html_dom,php下的html文件DOM解析库

    2. **查询元素**:使用`find()`函数,传入CSS选择器,返回一个Element对象的集合。 ```php $elements = $html-&gt;find('div.container'); ``` 3. **遍历元素**:遍历找到的元素集合,访问每个元素。 ```php foreach...

    javaScript 生成DOM 对象(html标签).rar

    在“javaScript生成DOM 对象ProvinceCity3.html”中,可能展示了如何动态生成省份和城市选择的下拉列表,这涉及到遍历数据和动态创建`&lt;option&gt;`元素的过程。 最后,图片处理也是DOM操作的一部分。在“images”目录...

    jQuery遍历对象、数组、集合实例

    `$.each()`方法接受两个参数:第一个是要遍历的对象,第二个是一个回调函数,该回调函数会针对对象中的每个属性执行一次。在回调函数中,`this`关键字指向当前的属性值,`index`则是当前属性的索引。 在遍历数组时...

    动态创建html内容时所用的W3C DOM属性和方法

    Node对象还有一系列用于遍历和操作文档结构的属性,如: - `element.attributes`:返回一个NamedNodeMap,包含元素的所有属性。 - `element.childNodes`:返回一个Node数组,包含当前节点的所有子节点。 - `element...

    jquery中each遍历对象和数组示例

    对于对象,`each`函数则遍历对象的所有属性。例如: ```javascript var person = { name: "John", age: 30, city: "New York" }; $.each(person, function(i, n) { console.log("Property: " + i + ", Value: " + ...

    jQuery 遍历的 each() 方法

    console.log('对象属性:', key + ' - ' + value); }); ``` ### `each()`与`for`循环的区别 虽然`for`循环也可以实现遍历,但`each()`提供了更简洁的语法和jQuery的上下文优势。`each()`在遍历过程中自动绑定...

    处理及遍历XML文档DOM元素属性及方法整理

    - `&lt;element&gt;.getAttribute(name)`: 获取元素的指定属性`name`的值。 - `&lt;element&gt;.setAttribute(name, value)`: 设置元素的指定属性`name`的值为`value`。 - `&lt;element&gt;.insertBefore(newNode, targetNode)`: 在...

Global site tag (gtag.js) - Google Analytics