怎样往jsdom节点里添加字符串

JavaScript016

怎样往jsdom节点里添加字符串,第1张

节点中添加内容或者HTML代码,首先要获取节点的对象,然后进行操作。

假设我们有一个节点:

<div id="name"></div>

我根据上面的节点做一下举例说明:

原生JS:

document.querySelector('#name').innerHTML = '我是被添加的内容'

jQuery:

$('#name').html('我是被添加的内容')

两种方法运行结果是一样的,如下图:

我看后发现有如下问题

1、javascript是一种脚本语言,是有一定安全限制的,不知道你打算通过xmlDoc.save("XmlData/about.xml")把about.xml文件保存到客户端还是服务器端,如果是服务器端那是不可能的,需要自己写activex控件

2、javascript只能操作浏览器内存中的dom对象,另存为xml文件一般是没有意义的

3、如果把xml文件保存到客户端这么做也不好,一般的杀毒软件也许会报为病毒,如果保存到客户端,我以前的办法是用applet数字签名,然后再保存

最简单的方法就是用元素的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)