IE6/7/8/9中Table/Select的innerHTML赋值会报错,如下 IE6/7/8/9中TABLE的innerHTML不能赋值 try{ var table = document.createElement('table'); table.innerHTML = 'Test table innerHTML' document.body.appendChild(table); }catch(e){ alert(e); } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] IE6/7 :IE8 :IE9 : Firefox/Safari/Chrome/Opera中正常。Ext.DomHelper中使用div,把table添加到div中间接实现。 MSDN ...
代码如下: interface HTMLCollection { //包含结点的个数 readonly attribute unsigned long length; //根据指定的索引index,返回相应的结点 //HTMLCollection中的结点呈树形结构,索引值index是结点深度优先方式排序的序号 Node item (in unsigned long index); //根据结点的name或者id的属性返回相应的结点 Node namedItem (in DOMString name); }
腾讯微博也已近实现了拖拽上传。其实很简单。 由于没有服务器支持在文章里不能做上传演示,下载实例 拖拽上传需要什么支持 1:需要浏览器支持 drop 事件。(响应拖拽事件获取file对象); 2:XMLHttpRequest 对象有 sendAsBinary 方法(用于发送数据); 以上两个条件 目前仅有 firefox 能达到。 chrome 第一项达标,第2项可以使用 google.gears 来模拟。 所以能实现拖拽上传的浏览器 有 firefox3.6 + 和 chrome7+。 如何实现拖拽上传 1:绑...
一、前面的些话 本文的内容基本上是基于“区域范围对象(Range objects)”这个概念来说的。这个玩意,可以让你选择HTML文档的任意部分,并可以拿这些选择的信息做你想做的事情。其中,最常见的Range是用户用鼠标选择的内容(user selection)。 本文有不少篇幅就是讲如何将用户的这种选择转换为W3C Range或Microsoft Text Range对象。 二、什么是Range? 所谓"Range",是指HTML文档中任意一段内容。一个Range的起始点和结束点位置任意...
这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments 。 2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等方式获取的集合(HTMLCollection,NodeList)等。 3,特殊写法的对象 ,如 代码如下: var obj={}; obj[0] = "一"; obj[1] = "二"; ...
这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments 。 2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等方式获取的集合(HTMLCollection,NodeList)等。 3,特殊写法的对象 ,如 代码如下: var obj={}; obj[0] = "一"; obj[1] = "二"; ...
对了,注意那个innerText和innerHTML 代码如下: function sortCells(event) { var obj = event.target; var count = 0; count是记录点击次数的,根据奇偶进行升序或降序 if(!obj.getAttribute("clickCount")){ obj.setAttribute("clickCount", 0); } else { count = parseInt(obj.getAttribute("clickCount")); count++; obj.setAttribute("clickCount", count); } var table = event.target.parentNode.parentNode; if(table.nod...
例子:我们要实现的效果是当用户点击鼠标的时候,就在旧数据上追加若干新数据。 如果使用标准DOM的话,完整代码如下: 代码如下: test data document.onmousedown = function() { for (var i = 0; i var p = document.createElement("p"); p.appendChild(document.createTextNode(Math.random())); document.getElementsByTagName('div')[0].appendChild(p); } }; 注:一旦结构比较复杂的话,标准DOM需要编写冗长的...
Fastest way to build an HTML stringPosted in 'Code Snippets, JavaScript' by James on May 29th, 2009 原文:http://james.padolsey.com/javascript/fastest-way-to-build-an-html-string/ 代码如下: var arr = [item 1, item 2, item 3, ...], list = ; for (var i = 0, l = arr.length; i < l; i++) { list += + arr + ; } list = + list + ;//最低效的方式。 var arr = [item 1, item 2, item 3, ...], list = [];for (v...
从那起,我已经对这些方法做了大量的研究,并且已经在很多场合使用他们。在很多任务中,他们被证明是非常有用的(特别关于结构的抽象 DOM 选择器)。 1、DOMElement.contains(DOMNode) 这个方法起先用在 IE ,用来确定 DOM Node 是否包含在另一个 DOM Element 中。 当尝试优化 CSS 选择器遍历(像:“#id1 #id2”),这个方法很有用。你可以通过 getElementById 得到元素,然后使用 .contains() 确定 #id1 实际上是否包含 #id2。 注...
代码如下: $("#div").bindTemplate({ source : json object, template : null | $("#template") | "{{object}}", dateFormat : "d.m.y", tagOpen : "{{", tagClose : "}}" }); bindTemplate(data) : 绑定数据对象到模板的操作方法 source : json 格式的数据源 template : null 不提供模板,InnerHtml输出 $(“#template”) 利用页面上定义好的html结构作为模板 “{{...}}” 直接定义模板 dateFormat : 时间的格式化方式 tagOpen : ...
代码如下://Html结构转字符串形式显示 支持换行 function ToHtmlString(htmlStr) { return toTXT(htmlStr).replace(/\<\;br[\&ensp\;|\&emsp\;]*[\/]?\>\;|\r\n|\n/g, ""); } //Html结构转字符串形式显示 function toTXT(str) { var RexStr = /\<|\>|\"|\|\&| | /g str = str.replace(RexStr, function (MatchStr) { switch (MatchStr) { case "<": return "<"; break; case ">": return ">"; break; case "\"": return """; ...
重现如下: 代码如下: 设置iframe的document.designMode后仅Firefox中其body.innerHTML为br 输出ifr.contentWindow.document.body.innerHTML应该是空字符串。但Firefox中有点特殊。 请按下面步骤依次操作。 Firefox中打开该html默认输出了空字符串 控制台中执行changeDesignMode方法,再执行prif方法,这时输出的innerHTML为“”,如下Chrome/Safari/Opera输出的仍然是空字符串。
另外,还有一个很重 要的事情是,在Win32上,mouse move的事件不是一个连续的,也就是说,并不是我们每次移动1px的鼠标指针,就会发生一个mousemove,windows会周期性检查mouse 的位置变化来产生mousemove的事件。 所以,如果是一个很小的页面对象,比如一个直径5px的圆点,如果没有setCapture和 releaseCapture,那么在鼠标按住之后,快速的移动鼠标,就有可能鼠标移动走了,但是小圆点还在原地,就是因为下一次的mousemove事 件已...
我实现的功能是添加标签,无刷新地添加到标签列表的最后,见下图中第二行,样式明显有问题 我反反复复地检查了chrome console的html结构,都是一样一样的,在IE和FF下我也认真比较过的,还是没有区别。见下图 同样的html结构,同样的style,竟然展现的样式差异很大,一时没了想法,像个无头苍蝇。索性我就把console下的html复制到notepad++进行对比,看出了一点端倪,见下图。左侧为js生成的html,右侧为页面(.aspx)中的html 引起...