草庐IT

Simple_HTML_DOM

全部标签

javascript - 是否最好避免为 Ajax 响应直接返回 HTML?

我开始做一些JS/HTML/CSS。环顾四周,似乎从后端返回HTML(例如,Ajax响应)并直接显示它(例如通过将其分配给元素的innerHTML)并不罕见。例如,我认为jQueryload()方法基本上是执行此操作的快捷方式。采用这种方法让我担心有几个原因,但我不确定是否只是因为我不熟悉这些领域的方法和习语,我只是落后于时代,或者这些是否是合理的担忧.我特别担心的是:1)直接将HTML分配给元素似乎不安全。或者,至少,如果存在任何用户内容(甚至第三方内容)的可能性,则至少是危险的。2)直接发送演示信息(HTML)似乎可能导致最好避免的演示/模型混合。当然,有可能在后端将它们完全分开并

javascript - DOM 中反射(reflect)的同名表单元素

如果您在一个表单中有多个具有相同name的表单元素,则表单上elements集合中的条目最终将成为这些字段的集合(很方便)。DOM2HTML规范coverstheelementscollection但当有多个同名字段时似乎不会立即指定此行为。该行为是否包含在标准中(在DOM2HTML规范或其他规范中的其他地方)?为清楚起见,我并不是在询问访问这些字段的最佳方式是什么。我想问的是,它们最终出现在elements集合的集合(各种类型)中这一事实是否包含在标准中,如果是,是哪一个。示例(livecopy):HTML:JavaScript:varform=document.getElement

javascript - 设计在 DOM 中表示 UI 对象的 JavaScript 类的最佳实践是什么?

我非常熟悉JavaScript和OOP,但对设计用于UI(HTML)编程的JS类非常不熟悉。我四处搜索了一下,但没有发现任何普遍的模式。假设我想动态创建类似面板的对象(类似于MicrosoftWindows面板)。每个对象都需要一个容器、一个可以包含文本标签的标题区域和一个具有单击事件处理程序的关闭按钮。除了DOM表示(HTML)之外,该对象还将具有JavaScript对象表示(变量和方法)。这是我尝试过的一种方法:////Windowclass//varWindow=function(params){this.testMethod=function(){console.log('te

javascript - 在 DOM 中添加/删除多个元素的最快方法

编辑:它不是“最快的DOM插入”的副本,因为它也包含事件监听器变量。无论如何,我会编辑问题。如果有人已经发现,我会知道一些事情。我想知道在javascript中添加元素的最快方法是什么,并且兼容ie6+、chrome10+、firefox2+。最快的技术:添加单个元素添加100个元素添加1个元素或1000个元素的任意时间曲线与上面相同,但用于删除元素添加/更改/删除内联样式属性添加事件监听器,例如mousedown/mouseup/mouseover添加/删除某些标签是否比其他标签更快?例如:添加/删除会更快或?(在添加模式下:我认为更快,因为它只有1个字母而不是3个字母,也许是因为d

javascript - 呈现 HTML+Javascript 服务器端

我需要在服务器端呈现HTML页面并“提取”Canvas元素的原始字节,以便将其保存为PNG。问题是,canvas元素是从javascript创建的(我基本上是使用jquery的Flot生成图表)。所以我想我需要一种方法来从浏览器“托管”DOM+Javascript功能,而无需实际使用浏览器。我选择了mshtml(但对任何和所有建议持开放态度),因为它似乎应该能够做到这一点。这是一个ASP.NETMVC项目。我已经进行了广泛的搜索,但没有看到任何结论。所以我有这个简单的HTML-示例尽可能简单来演示问题-Wowfunctionsimple(){$("#hello").append("He

javascript - 具有 ID 属性的动态 DOM 对象的 IE9 内存泄漏

我注意到为动态创建的DOM对象分配ID属性值会导致IE9泄漏内存。有没有其他人经历过这种情况,更重要的是,知道任何解决方法?它在其他浏览器中不会泄漏,即使是IE6也能通过!泄露代码演示:它只是连续地从表中添加和删除行,并为每一行分配一个ID以供稍后查找。没有“row.id=eid;”就不会发生泄漏functionaddRow(tbl,index){varrow=tbl.insertRow(index);vareid="loongrowid"+count;row.id=eid;for(vari=0;i';for(vari=1;iTESTINGselecteddatetimeplacede

javascript - 我可以在浏览器 ui 线程和 web 工作线程中安全地使用 html5 中的哪些本地存储

我一直在尝试在基于webkit的浏览器中使用websqldatabaseapi。我一直在主ui线程和webworker中使用asyncapi。两个线程都访问同一个数据库(如您所知,它是底层的sqlite)一切正常,但有时交易会丢失或一个交易失败,这似乎是一个计时/竞争条件。看来对底层sqlite数据库的访问不是线程安全的。更多的背景。我的webworker只是对一个表执行查询,该表可能从主ui线程插入了一条记录。我想知道它是否真的在某个地方记录了什么本地/网络存储可以从用户界面线程和网络工作线程安全地访问?我在某处读到indexeddbapi是线程安全的,但这对我现在没有帮助,因为浏览

javascript - 从 html dom 创建可打印的 PDF

我有一个网页,其中有相当数量的内容是动态构建的(jqueryajax等),并且需要呈现它的可打印版本。我遇到了有关html/打印的所有常见问题,我可能(给定时间)解决这些问题,但这让我开始思考-是否有一种方法可以获取DOM并使用javascript从中生成PDF。这可能是一个有点愚蠢的问题-听起来有点棘手,我也不太确定即使我可以使用javascript构建一个PDF文件,我将如何将它呈现给用户。人们怎么看? 最佳答案 vardoc=newjsPDF();doc.text(20,20,'Helloworld!');doc.text(2

javascript - 将生成的内容添加到未绑定(bind)到 DOM 的 jQuery 对象失败

我正在尝试使用.append将HTML片段动态附加到现有元素。不知何故,脚本创建的HTML字符串没有附加到元素。附加到的元素在附加代码段时并未挂接到DOM中。所有这些都封装在一个JavaScript函数中。这是代码:append_content=function(){varelem=$('sometext');varsomecontent=get_content();//returnsastring:'xx'elem.append('bleh1');elem.append(somecontent);elem.append('bleh2');console.log(elem);retur

javascript - 测试 DOM 中元素的最佳方法是什么

有几种方法可以做到这一点(据我所知)。测试css显示if($('#foo').css('display')=='none')测试可见性if($('#foo').is(':visible'))在可见性中我可以检查元素是否存在。Elementsareconsideredvisibleiftheyconsumespaceinthedocument.Visibleelementshaveawidthorheightthatisgreaterthanzero.Elementswithvisibility:hiddenoropacity:0areconsideredvisible,sincethe