最简单的方法就是用元素的innerHTML属性赋值,如:myNewElement.innerHTML = “我是文本”但这样不能清晰的体现DOM中新增加了一个文本节点。
然后另一种添加文本节点的方式,可分为两步:
1、创建节点:文本节点的创建使用createTextNode方法,如:var myText = document.createTextNode(“我是文本”)
2、将创建的节点用appendChild方法添加某个元素下。如:myNewElement.appendChild(myText)这样myNewElement就有myText的文本节点,文本节点的内容是“我是文本”即可。
获取属性节点
第一种方法:获取官方定义的属性节点(获取元素的对应属性值)。
格式:元素节点,属性名。
注意:不能获取自定义属性的值。
代码如下:
console.log(jsInput.placeholder)
alert("是时候展现真正的技术")
设置属性节点的值
公式:元素节点 . 属性名 = 新的属性值
代码如下:
//设置元素对应属性的值
//元素节点.属性名 = 新的属性值
jsInput.placeholder = "sunck good"
第二种方法
公式:元素节点 . getAttribute(属性名)
注意:还可以获取自定义属性的值。
代码:
console.log(jsInput.getAttribute("my"))
设置自定属性的值
公式:元素节点 . setAttribute(属性名, 新属性值)
注意:当属性不存在时,变为添加属性
代码:
//设置
//元素节点.setAttribute(属性名, 新属性值)
jsInput.setAttribute("my", "sunck")
//注意:当属性不存在时,变为添加属性
jsInput.setAttribute("other", "sunck")
删除属性节点
公式:元素节点.removeAttribute(属性名)
注意:某些低版本浏览器不支持
代码:
jsInput.removeAttribute("other")
console.log(jsInput)
方法一:
使用DOM.setAttribute("class","类名")
方法二:
DOM.classList.add("类名")
方法一给DOM元素添加类名会覆盖原有的类名
方法二 可以给DOM元素添加一个类名后 还可以在继续给DOM元素添加新的类名 并且不会覆盖已有的类名
概念:把要添加的节点添加到指定父级里面的最后面,所以也叫追加。
使用方式:fatherdom.appendChild( insertdom )。
兼容性:所有浏览器都支持此方法。
概念:把要插入的节点添加到指定父级里面的指定节点之前。
使用方式:fatherdom.insertBefore( insertdom,chosendom )。
兼容性:所有浏览器都支持此方法,但是值得注意的是,如果第二个参数节点不存在,在IE和Safari下会把要添加的节点使用appendChild()方法追加到指定父级中,而其他主流浏览器(Firefox、Chrome、Opera等)下会报错,所以在插入节点的时候,需要先判断第二个参数节点是否存在
效果
注意:很多人都认为设置disabled="true"是为启用,设置为“false”时为禁用,这是错的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)