问题:修改文本节点时字符串会经过HTML编码?

今天学JavaScript的DOM时,看到Text属性时,书中有段话:

如果这个文本节点当前存在于文档树中,那么修改文本节点的结果就会立即得到反映。另外,在修改文本节点时还要注意,此时的字符串会经过HTML(或XML,取决于文档类型)编码。换句话说,小于号,大于号或引号都会被转义。

即:div.firstChild.nodeValue = "Some <strong>other</strong> message";

的输出结果是:"Some &lt;strong&gt;other&lt;/strong&gt; message"

然而运行完程序后显示的仍然是:Some <strong>other</strong> message

代码:

<!DOCTYPE html>
<html>
<head>
    <title>Text Node Example 2</title>
</head>
<body>
    <div id="myDiv">Hello world!</div>

    <input type="button" value="Change Text" onclick="changeText()">

    <script type="text/javascript">
        function changeText(){
            var div = document.getElementById("myDiv");
            div.firstChild.nodeValue = "Some <strong>other</strong> message";
        }
    </script>
</body>
</html>
时间: 2024-10-06 17:31:13

问题:修改文本节点时字符串会经过HTML编码?的相关文章

JavaScript修改DOM节点时,样式优先级的问题

通过element.style.xxx设置或者读取的xxx样式属性,都是属于行间样式(<p style="color=red"></p>),并不是 使用link的外部css文件 或者 在<style></style>标签中定义的样式 样式优先级: * < tagName < class < id < 行间(行间样式就是写在标签内) 下面这个代码中 <html> <head> <styl

JavaScript DOM_5 操作文本节点

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.get

DOM文本节点TEXT

定义 文本节点由Text类型表示,包含的是纯文本内容,纯文本内容中的HTML字符会被转义. 特征 nodeType:3 nodeName:#text nodeValue:节点所包含的文本 parentNode:Element节点 childNode:没有子节点 <div class="box" id="box">test</div> <script> var oBox = document.getElementById('box'

初探JavaScript(一)——也谈元素节点、属性节点、文本节点

Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本<Javascript Dom编程艺术>,开始慢慢走近JS,与它套近乎,今天是第三天了,从目前来看,比较好相处.就此动笔,是一个回忆复习的过程,权当是自己的一份读书笔记. JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,已经被广泛用于Web应用开发,常用来为网

DOM(Document object madle) 文档对象模型: 元素节点 文本节点 属性节点

[DOM树节点] DOM 节点分为三大类:元素节点 文本节点 属性节点 文本节点 属性节点 为元素节点的两个子节点 通过getElement系列方法,可以去到元素节点. [查看节点] 1.document.getElementById:通过ID获取唯一的节点;多个同名ID,只会取第一个: 2.document.getElementsByName:通过name取到一个数组,包含1到多个节点: 使用方式:通过循环,取到每个节点.循环次数:从0开始,<数组.length   [查看和设置属性节点] 1

Javascript进阶篇——(DOM—节点---插入、删除和替换元素、创建元素、创建文本节点)—笔记整理

插入节点appendChild()在指定节点的最后一个子节点列表之后添加一个新的子节点.语法: appendChild(newnode) //参数: //newnode:指定追加的节点. 为ul添加一个li,设置li内容为PHP,代码如下: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=

JS对文本框输入字符的限制

文本框Text或TestBox中对输入字符的限制,通过js事件来监控用户输入字符.然而,如果用户是通过Copy的方式来粘贴到文本中来,那这时候文本框的字符长度有可能超过,这时候就容易报错.这种Copy的方法也可以通过js的时间来监控.这样一来就需要些2个js时间来监控用户输入或Copy的事件了. 其实文本框有一个事件,可以做到这一步,我们设定的文本框的字符长度为500时,如果用户输入或Copy超过500,文本框只会取500的长度. <asp:textbox id="txtTest"

Boyer-Moore(BM)算法,文本查找,字符串匹配问题

KMP算法的时间复杂度是O(m + n),而Boyer-Moore算法的时间复杂度是O(n/m).文本查找中“ctrl + f”一般就是采用的BM算法. Boyer-Moore算法的关键点: 从右遍历,如果有txt里面的i+j元素和pat里面的j元素不一致,调整.根据right[]调整,right[]类似与KMP算法里面的nextval.skip = j - right[txt.charat(i+j)]; if(skip < 1) skip = 1;  i+=skip; 即找txt里面的第i+j

运用一下 Runtime 修改文本框占位符的颜色

/** 运行时 :runtime 可以访问隐藏的一些属性**在这个代码中 修改 文本框占位符 的颜色 */ + (void)initialize { [self getIvars]; [self getProperties]; } //获取所有属性 + (void)getProperties { unsigned int count = 0; objc_property_t *properties = class_copyPropertyList([UITextField class], &co