Questions tagged «dom»

文档对象模型(DOM)是一种以编程方式引用诸如XML和HTML之类的标记语言的元素的方法。与[javascript]或任何其他具有DOM分析器的编程语言一起使用

9
用JS解析HTML字符串
我搜索了一个解决方案,但没有任何相关之处,所以这是我的问题: 我想解析一个包含HTML文本的字符串。我想用JavaScript来做。 我尝试了这个库,但似乎它解析了当前页面的HTML,而不是字符串。因为当我尝试下面的代码时,它更改了页面的标题: var parser = new HTMLtoDOM("<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>", document); 我的目标是从读取的HTML外部页面中提取链接,就像读取字符串一样。 您知道执行此操作的API吗?


11
如何解析C:\ fakepath?
<input type="file" id="file-id" name="file_name" onchange="theimage();"> 这是我的上传按钮。 <input type="text" name="file_path" id="file-path"> 这是我必须显示文件完整路径的文本字段。 function theimage(){ var filename = document.getElementById('file-id').value; document.getElementById('file-path').value = filename; alert(filename); } 这是解决我问题的JavaScript。但是在警戒值给了我 C:\fakepath\test.csv Mozilla给了我: test.csv 但是我想要本地标准文件路径。如何解决这个问题? 如果这是由于浏览器安全性问题引起的,那么应该采取什么替代方法呢?



30
如何检查JavaScript对象是否为DOM对象?
我试图得到: document.createElement('div') //=> true {tagName: 'foobar something'} //=> false 在我自己的脚本中,我以前只是使用它,因为我从来不需要tagName作为属性: if (!object.tagName) throw ...; 因此,对于第二个对象,我想出了以下方法作为一种快速解决方案-大部分都能奏效。;) 问题是,这取决于浏览器是否强制执行只读属性,而并非所有人都这样做。 function isDOM(obj) { var tag = obj.tagName; try { obj.tagName = ''; // Read-only for DOM, should throw exception obj.tagName = tag; // Restore for normal objects return false; } catch (e) { return …
247 javascript  dom  object 

15
如何在JavaScript中实现DOM数据绑定
请将此问题视为严格的教育意义。我仍然有兴趣听到新的答案和想法来实现这一目标 tl; dr 如何使用JavaScript实现双向数据绑定? 数据绑定到DOM 例如,通过将数据绑定到DOM,我的意思是拥有一个a带property 的JavaScript对象b。然后有一个<input>DOM元素(例如),当DOM元素发生变化时,它a也会发生变化,反之亦然(即,我是指双向数据绑定)。 这是AngularJS的示意图: 所以基本上我的JavaScript类似于: var a = {b:3}; 然后是一个输入(或其他形式)元素,例如: <input type='text' value=''> 我希望输入的值是a.b(例如)的值,并且当输入文本更改时,我也想a.b更改。当a.bJavaScript更改时,输入也会更改。 问题 有什么基本的技术可以在普通JavaScript中完成此操作? 具体来说,我想提供一个很好的答案: 绑定如何作用于对象? 如何聆听表格中的更改可能会起作用? 是否可以通过简单的方式仅在模板级别修改HTML?我不想在HTML文档本身中跟踪绑定,而仅在JavaScript中跟踪(带有DOM事件,而JavaScript始终引用所使用的DOM元素)。 我尝试了什么? 我是Mustache的忠实粉丝,所以我尝试使用它进行模板制作。但是,由于Mustache将HTML作为字符串处理,因此在尝试自行执行数据绑定时遇到了问题,因此,在获得结果后,我将不再引用视图模型中对象的位置。我可以想到的唯一解决方法是使用属性修改HTML字符串(或创建的DOM树)本身。我不介意使用其他模板引擎。 基本上,我有一种很强烈的感觉,就是正在手头的问题变得复杂,并且有一个简单的解决方案。 注意:请不要提供使用外部库的答案,尤其是成千上万行代码的库。我用过(并且喜欢!)AngularJS和KnockoutJS。我真的不想要“使用框架x”形式的答案。理想情况下,我希望将来的读者不知道如何使用许多框架来自己掌握如何实现双向数据绑定。我不希望得到一个完整的答案,但是会得到一个完整的想法。

9
如何将DOM元素设置为第一个孩子?
我有元素E,并向其添加了一些元素。突然之间,我发现下一个元素应该是E的第一个孩子。诀窍是什么,怎么做?方法取消移位不起作用,因为E是一个对象,而不是数组。 很长的路要走遍E的孩子,并移动他们的键++,但是我敢肯定,有更漂亮的方法。


5
如何在jQuery中找到具有已知类的父级?
我有一个<div>包含多个其他<div>的,每个处于不同的嵌套级别。与其给每个孩子<div>一个标识符,不如给根节点<div>一个标识符。这是一个例子: <div class="a" id="a5"> <div class="b"> <div class="c"> <a class="d"> </a> </div> </div> </div> 如果我在jQuery中编写了一个函数来响应类,d并且想找到其父类class的ID,a我该怎么做? 我不能简单地做$('.a').attr('id');,因为有多个类a。我可以找到其父代的父代的ID,但这似乎设计欠佳,速度慢,而且不是多态的(我必须编写不同的代码才能找到类的ID c)。
242 javascript  jquery  html  dom  parent 

3
使用Java在DOM解析中进行规范化-它如何工作?
在本教程中,我在DOM解析器的代码中看到以下行。 doc.getDocumentElement().normalize(); 我们为什么要进行这种归一化? 我阅读了文档,但我听不懂一个字。 将所有Text节点置于该节点下子树的完整深度 好吧,那么有人可以告诉我(最好是附照片)这棵树是什么样的吗? 谁能解释我为什么需要规范化? 如果我们不规范会怎样?

17
如何缩放iframe的内容?
如何在网站页面中缩放iframe的内容(在我的示例中是HTML页面,而不是弹出窗口)? 例如,我想以80%的原始大小显示iframe中显示的内容。
237 html  css  dom 

4
什么是offsetHeight,clientHeight,scrollHeight?
想解释之间有什么区别的offsetHeight,clientHeight和scrollHeight或offsetWidth,clientWidth和scrollWidth? 在客户端上工作之前,必须先了解这一区别。否则,他们将有一半的生命将花费在修复UI上。 小提琴或下面的内联: function whatis(propType) { var mainDiv = document.getElementById("MainDIV"); if (window.sampleDiv == null) { var div = document.createElement("div"); window.sampleDiv = div; } div = window.sampleDiv; var propTypeWidth = propType.toLowerCase() + "Width"; var propTypeHeight = propType + "Height"; var computedStyle = window.getComputedStyle(mainDiv, null); var borderLeftWidth = computedStyle.getPropertyValue("border-left-width"); var borderTopWidth = …


5
获取子节点的最佳方法
我想知道,JavaScript提供了多种方法来从任何元素中获取第一个子元素,但是哪种方法最好?最好的意思是:在行为方面,大多数跨浏览器兼容,最快,最全面且可预测。我用作别名的方法/属性的列表: var elem = document.getElementById('container'); var child = elem.children[0]; var child = elem.firstElementChild; // == children[0] 这适用于两种情况: var child = elem.childNodes[0]; // or childNodes[1], see below 在表单或<div>迭代的情况下。如果我可能遇到文字元素: var child = elem.childNodes; // treat as NodeList var child = elem.firstChild; 据我所知,firstChild使用来自的NodeList childNodes,并firstElementChild使用children。我将此假设基于MDN参考: childNode是对元素节点的第一个子元素的引用,或者null如果不存在的话。 我猜想,就速度而言,差异(如果有的话)几乎为零,因为firstElementChild实际上是对的引用children[0],并且该children对象无论如何已经在内存中。 扔给我的是childNodes物体。我用它来查看表格元素中的表单。虽然children列出了所有表单元素,但childNodes似乎还包含HTML代码中的空格: console.log(elem.childNodes[0]); console.log(elem.firstChild); 两者均记录 <TextNode textContent="\n "> …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.