首页 > 其他分享 >js Attr类型

js Attr类型

时间:2024-01-23 14:05:37浏览次数:18  
标签:Attr align 元素 js 类型 document 节点 属性

<ul id="myList"></ul>

假设想给这个

  • 元素添加 3 个列表项。如果分 3 次给这个元素添加列表项,浏览器就要重新渲染 3 次页面,以反映新添加的内容。为避免多次渲染,下面的代码示例使用文档片段创建了所有列表项, 然后一次性将它们添加到了
  • 元素:
  • let fragment = document.createDocumentFragment();
        let ul = document.getElementById("myList");
    
     for (let i = 0; i < 3; ++i) { 3 let li = document.createElement("li");
    li.appendChild(document.createTextNode(`Item ${i + 1}`));
    fragment.appendChild(li);
     }
        ul.appendChild(fragment);
  • 这个例子先创建了一个文档片段,然后取得了

  • 元素的引用。接着通过 for 循环创建了 3 个列表 项,每一项都包含表明自己身份的文本。为此先创建
  • 元素,再创建文本节点并添加到该元素。然后 通过 appendChild()把
  • 元素添加到文档片段。循环结束后,通过把文档片段传给 appendChild() 将所有列表项添加到了
  • 元素。此时,文档片段的子节点全部被转移到了
  • 元素。
  • Attr类型

  • 元素数据在 DOM 中通过 Attr 类型表示。Attr 类型构造函数和原型在所有浏览器中都可以直接访 7 问。技术上讲,属性是存在于元素 attributes 属性中的节点。Attr 节点具有以下特征:  nodeType 等于 2;  nodeName 值为属性名; 8  nodeValue 值为属性值;  parentNode 值为 null;  在 HTML 中不支持子节点;  在 XML 中子节点可以是 Text 或 EntityReference。 属性节点尽管是节点,却不被认为是 DOM 文档树的一部分。Attr 节点很少直接被引用,通常开 发者更喜欢使用 getAttribute()、removeAttribute()和 setAttribute()方法操作属性。 Attr 对象上有 3 个属性:name、value 和 specified。其中,name 包含属性名(与 nodeName 一样),value 包含属性值(与 nodeValue 一样),而 specified 是一个布尔值,表示属性使用的是 默认值还是被指定的值。 可以使用 document.createAttribute()方法创建新的 Attr 节点,参数为属性名。比如,要给 元素添加 align 属性,可以使用下列代码:

  • let attr = document.createAttribute("align");
        attr.value = "left";
        element.setAttributeNode(attr);
    alert(element.attributes["align"].value); alert(element.getAttributeNode("align").value); // "left" alert(element.getAttribute("align")); // "left"
  • // "left" 在这个例子中,首先创建了一个新属性。调用 createAttribute()并传入"align"为新属性设置 .

标签:Attr,align,元素,js,类型,document,节点,属性
From: https://blog.51cto.com/u_16251183/9378998

相关文章

  • js DocumentType类型
    DocumentType类型DocumentType类型的节点包含文档的文档类型(doctype)信息,具有以下特征:nodeType等于10;nodeName值为文档类型的名称;nodeValue值为null;parentNode值为Document对象;不支持子节点。DocumentType对象在DOMLevel1中不支持动态创建,只能在解......
  • js Comment类型
    Comment类型DOM中的注释通过Comment类型表示。Comment类型的节点具有以下特征:nodeType等于8;nodeName值为"#comment";nodeValue值为注释的内容;parentNode值为Document或Element对象;不支持子节点。Comment类型与Text类型继承同一个基类(CharacterData......
  • js Comment类型
    Comment类型DOM中的注释通过Comment类型表示。Comment类型的节点具有以下特征:nodeType等于8;nodeName值为"#comment";nodeValue值为注释的内容;parentNode值为Document或Element对象;不支持子节点。Comment类型与Text类型继承同一个基类(CharacterData......
  • js 规范化文本节点
    在将一个文本节点作为另一个文本节点的同胞插入后,两个文本节点的文本之间不会包含空格。2.规范化文本节点DOM文档中的同胞文本节点可能导致困惑,因为一个文本节点足以表示一个文本字符串。同样,DOM文档中也经常会出现两个相邻文本节点。为此,有一个方法可以合并相邻的文本节点。这......
  • js 创建文本节点 document.createTextNode()
    示例中的第一个div元素中不包含内容,因此不会产生文本节点。只要开始标签和结束标签之间有内容,就会创建一个文本节点,因此第二个元素会有一个文本节点的子节点,虽然它只包含空格。这个文本节点的nodeValue就是一个空格。第三个元素也有一个文本节点的子节点,其nodeValue的值为"He......
  • JS、HTML内嵌iframe第三方网页,如何通信?
    在实际使用postMessage时,如果你不确定确切的父页面或子页面的源地址(即origin),可以采取以下策略:允许任意源发送消息:如果你希望iframe子页面能够向任何父页面发送消息,或者父页面接受来自任何域的iframe消息,可以在调用postMessage时将目标源设置为通配符*://子页面向任意源发送windo......
  • 自我记录js正则
    一、数字相关只有数字:/^[0-9]*$/或/^\d{1,}$/整数:/^-?[0-9]\d*$/正整数:/^\+?[1-9]\d*$/非正整数:/^-[1-9]\d*|0$/负整数:/^-[1-9]\d*$/非负整数:/^\d+$/浮点数:/^(-?\d+)(\.\d+)?$/正浮点数:/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/负浮点数:/^-([1-9]\d*\.\d*|......
  • Rust 中 数据类型的整型 取值范围
      整数是一个没有小数的数组,在Rust中整数分为有无符号(-),代表数字能否负值,有符号数以补码形式存储。 长度有符号无符号8-bit i8u816-biti16u1632-biti32u3264-biti64u64128-biti128u128archisizeusize isize和usize类型依赖运......
  • 从SQL到Java数据类型映射的JDBC规范
    SQL类型Java类型CHARjava.lang.StringVARCHARjava.lang.StringLONGVARCHARjava.lang.StringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDecimalBITbooleanTINYINTbyteSMALLINTshortINTEGERint......
  • OPENJSON requires Compatibility Level 130
    ParseandTransformJSONDatawithOPENJSONOPENJSONrequiresCompatibilityLevel130TheOPENJSONfunctionisavailableonlyundercompatibilitylevel130.Ifyourdatabasecompatibilitylevelislowerthan130,SQLServercan'tfindandruntheO......