Questions tagged «dom»

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

7
jQuery html()与innerHTML
我是否可以完全依赖jQuery的html()行为方式与相同innerHTML?innerHTML和jQuery的html()方法之间有什么区别吗?如果这些方法都相同,是否可以使用jQuery的html()方法代替innerHTML? 我的问题是:我正在设计的页面上工作,这些页面包含表格,并且在JavaScript中,该innerHTML属性用于动态填充它们。 该应用程序在Firefox上运行正常,但是Internet Explorer会引发错误:unknown runtime exception。我使用jQuery的html()方法,而IE的错误已消失。但是我不确定它是否适用于所有浏览器,也不确定是否innerHTML用jQuery的html()方法替换所有属性。 非常感谢。

4
使用jQuery获取选定的选项ID
我正在尝试使用jQuery根据选定的选项发出ajax请求。 有没有一种简单的方法来使用jQuery检索选定的选项ID(例如“ id2”)? <select id="my_select"> <option value="o1" id="id1">Option1</option> <option value="o2" id="id2">Option2</option> </select> $("#my_select").change(function() { //do something with the id of the selected option });

11
document.createElement(“ script”)同步
是否可以.js同步调用文件,然后立即使用它? <script type="text/javascript"> var head = document.getElementsByTagName('head').item(0); var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', 'http://mysite/my.js'); head.appendChild(script); myFunction(); // Fails because it hasn't loaded from my.js yet. window.onload = function() { // Works most of the time but not all of the time. // Especially if my.js injects another script that …

6
jQuery对象和DOM元素
我想了解jQuery对象和DOM元素之间的关系。 当jQuery返回一个元素时,它会显示为[object Object]警报。当getElementByID返回一个元素时,它显示为[object HTMLDivElement]。这到底是什么意思?我的意思是说两个对象都有区别吗? 还有什么方法可以对jQuery对象和DOM元素进行操作?一个jQuery对象可以代表多个DOM元素吗?
79 javascript  dom  jquery 

7
与textNodes等效的getElementsByTagName()
有什么方法可以获取textNode文档中所有对象的集合? getElementsByTagName()对于Elements来说效果很好,但textNodes不是Elements。 更新:我意识到这可以通过遍历DOM来完成-如以下建议。我知道如何编写一个DOM-walker函数来查看文档中的每个节点。我希望有一些浏览器本机的方法可以做到这一点。毕竟,我可以<input>通过一个内置调用获得所有s,但不是全部textNodes有点奇怪。

9
在React中使用多个选项从<select>检索值
设置选择框选择哪个选项的反应方式是value在其&lt;select&gt;自身上设置一个特殊的道具,与要选择value的&lt;option&gt;元素上的属性相对应。对于multiple选择,该道具可以接受数组。 现在,因为这是一个特殊属性,所以我想知道当用户更改内容时,在相同的option-values-values结构中检索选定选项的规范方法是什么(因此我可以将其通过回调传递给父组件等),因为推测相同的value属性在DOM元素上将不可用。 以一个带有文本字段的示例为例,您可以执行以下操作(JSX): var TextComponent = React.createClass({ handleChange: function(e) { var newText = e.target.value; this.props.someCallbackFromParent(newText); }, render: function() { return &lt;input type="text" value={this.props.someText} onChange={this.handleChange} /&gt;; } }); 替换???此多重选择组件的等效项是什么? var MultiSelectComponent = React.createClass({ handleChange: function(e) { var newArrayOfSelectedOptionValues = ???; this.props.someCallbackFromParent(newArrayOfSelectedOptionValues); }, render: function() { return ( &lt;select multiple={true} value={this.props.arrayOfOptionValues} onChange={this.handleChange}&gt; …

5
createElement优于innerHTML的优势?
在实践中,相对于innerHTML而言,使用createElement有何优势?我之所以问是因为,我坚信使用innerHTML在性能和代码可读性/可维护性方面会更有效,但是我的团队成员已经决定使用createElement作为编码方法。我只是想了解createElement如何更有效。

3
为什么colspan在Angular 2中不是已知的本机属性?
如果我们尝试这样的代码: &lt;td [colspan]="1 + 1"&gt;Column&lt;/td&gt; 或这个: &lt;td colspan="{{1 + 1}}"&gt;Column&lt;/td&gt; 我们很快就会发现“colspan不是已知的本机属性”。 从A2文档中我们了解到: 元素没有colspan属性。它具有“ colspan”属性,但是插值和属性绑定只能设置属性,不能设置属性。 相反,我们必须这样做: &lt;td [attr.colspan]="1 + 1"&gt;Column&lt;/td&gt; 这很公平。 题: 我的问题是,为什么colspan不是DOM的属性,如果缺少属性,浏览器如何呈现表,因为浏览器呈现DOM而不是HTML? 另外,如果我打开Chrome检查器,然后转到“属性”标签,为什么可以将colspan视为Element的属性? 为什么DOM表现出这种不一致?

2
使用DOM将SVG元素添加到现有SVG中
我有一个类似于以下代码的HTML构造: &lt;div id='intro'&gt; &lt;svg&gt; //draw some svg elements &lt;svg&gt; &lt;/div&gt; 我希望能够使用javascript和DOM向上面定义的SVG中添加一些元素。我该怎么做?我在想 var svg1=document.getElementById('intro').getElementsByTagName('svg'); svg1[0].appendChild(element);//element like &lt;line&gt;, &lt;circle&gt; 我对使用DOM或如何创建要传递给appendChild的元素不是很熟悉,因此请帮助我解决这个问题,或者向我展示解决该问题的其他替代方法。非常感谢。
78 javascript  html  dom  svg 

13
JavaScript DOM:在容器中查找元素索引
我需要通过对象引用在其容器内找到元素的索引。奇怪的是,我找不到简单的方法。请不要jQuery-只有DOM。 UL LI LI LI - my index is 2 LI 是的,我可以为每个元素分配ID并遍历所有节点以匹配ID,但这似乎是一个不好的解决方案。没有更好的东西吗? 因此,就像上面的示例一样,我有一个对第三LI的对象引用。我怎么知道它是索引2? 谢谢。

7
当ID包含方括号时,按ID查找DOM元素?
我有一个DOM元素,其ID类似于: something[500] 它是由我的Ruby on Rails应用程序构建的。我需要能够通过jQuery获得此元素,以便我可以沿DOM向上移动以删除其父级的父级,该父级具有一个我事先无法访问的变量ID。 有人知道我该怎么做吗?以下代码似乎无效: alert($("#something["+id+"]").parent().parent().attr("id")); 经过进一步检查,以下内容: $("#something["+id+"]") 返回一个对象,但是当我在其上运行“ .html()”或“ .text()”时,结果始终为null或只是一个空字符串。

8
使HTML元素不可聚焦
是否可以使HTML元素不可聚焦? 我了解可以定义一个可以获取焦点的元素列表,并且用户可以通过按一个Tab键来浏览这些元素。我还看到,这取决于浏览器来控制。 但是也许有一种方法可以使某些元素无法聚焦,比如说我希望用户&lt;a&gt;按下a时跳过某个标签Tab。
77 html  dom 

8
如何为以FormData上传的Blob提供文件名?
我目前正在使用以下代码上传从剪贴板粘贴的图像: // Turns out getAsFile will return a blob, not a file var blob = event.clipboardData.items[0].getAsFile(), form = new FormData(), request = new XMLHttpRequest(); form.append("blob",blob); request.open( "POST", "/upload", true ); request.send(form); 原来上载的表单字段的名称与此类似:Blob157fce71535b4f93ba92ac6053d81e3a 有什么方法可以设置或接收客户端的此文件名,而无需进行服务器端的任何通信?

3
使用无限滚动或许多dom元素进行演奏?
我对大量的dom elmenets和性能有疑问。 假设我在一个页面上有6000个dom元素,并且随着用户与该页面进行交互(用户滚动创建一个新的dom元素)(例如twitter),可以增加元素的数量。 为了提高页面的性能,我只能想到两件事。 将不显示的项目设置为“无”,以避免回流 从dom中删除不可见的项目,然后根据需要重新添加。 他们是否还有其他方法可以改善包含许多dom元素的页面?

12
从下拉框中获取文本
这将获得在我的下拉菜单中选择的任何值。 document.getElementById('newSkill').value 但是,我无法找到下拉菜单当前显示的文本的属性。我尝试了“文本”,然后看了看W3Schools,但是那没有答案,这里有人知道吗? 对于那些不确定的人,这里是下拉框的HTML。 &lt;select name="newSkill" id="newSkill"&gt; &lt;option value="1"&gt;A skill&lt;/option&gt; &lt;option value="2"&gt;Another skill&lt;/option&gt; &lt;option value="3"&gt;Yet another skill&lt;/option&gt; &lt;/select&gt;

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.