Questions tagged «dom»

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

11
jQuery检查DOM中是否有重复的ID
我正在使用ASP.NET MVC编写应用程序。与传统的ASP.NET相比,您在生成的页面中创建所有ID的责任要大得多。ASP.NET会给您带来讨厌但唯一的ID。 我想添加一个快速的小jQuery脚本来检查我的文档中是否有重复的ID。它们可能是DIVS,图像,复选框,按钮等的ID。 <div id="pnlMain"> My main panel </div> <div id="pnlMain"> Oops we accidentally used the same ID </div> 我正在寻找一种设置并忘记类型的实用程序,当我不小心做某事时会警告我。 是的,我只会在测试期间使用此工具,也欢迎使用其他替代方法(例如firebug插件)。
106 jquery  dom 

21
scrollIntoView滚动太远
我有一个页面,其中从数据库中动态生成一个滚动条,其中包含带有div的表行。每个表格行都像一个链接,就像您在视频播放器旁边的YouTube播放列表中看到的一样。 当用户访问页面时,他们所在的选项应该位于滚动div的顶部。此功能正在运行。问题是它走得太远了。就像它们启用的选项一样,大约过高10px。因此,将访问该页面,该URL用于标识选择了哪个选项,然后将该选项滚动到滚动div的顶部。注意:这不是窗口的滚动条,它是带有滚动条的div。 我正在使用此代码使它将选定的选项移到div的顶部: var pathArray = window.location.pathname.split( '/' ); var el = document.getElementById(pathArray[5]); el.scrollIntoView(true); 它将其移动到div的顶部,但距离太远约10个像素。有人知道该如何解决吗?
106 javascript  dom  scroll 

9
使用Java脚本更改CSS值
使用javascript设置内联CSS值很容易。如果我想更改宽度,并且我有这样的html: <div style="width: 10px"></div> 我需要做的就是: document.getElementById('id').style.width = value; 它将更改内联样式表的值。通常这不是问题,因为内联样式会覆盖样式表。例: <style> #tId { width: 50%; } </style> <div id="tId"></div> 使用此Javascript: document.getElementById('tId').style.width = "30%"; 我得到以下内容: <style> #tId { width: 50%; } </style> <div id="tId" style="width: 30%";></div> 这是一个问题,因为在以下情况下,我不仅不希望更改内联值:在设置宽度之前查找宽度: <div id="tId"></div> 返回的值为Null,因此,如果我的Javascript需要知道某种东西的宽度以执行一些逻辑(我将宽度增加1%,而不是特定值),则当我期望字符串“ 50%”时返回Null ”确实没有用。 所以我的问题是:我的CSS样式中的值不是内联的,如何获得这些值?给定ID,如何修改样式而不是内联值?
105 javascript  html  css  ajax  dom 

6
SVG获取文本元素的宽度
我正在为SVG文件处理一些ECMAScript / JavaScript,并且需要获取width和height的text元素,因此我可以调整包围它的矩形的大小。在HTML中,我可以在元素上使用offsetWidth和offsetHeight属性,但这些属性似乎不可用。 这是我需要处理的片段。每当更改文本时,我都需要更改矩形的宽度,但是我不知道如何获取元素的实际width(以像素为单位)text。 <rect x="100" y="100" width="100" height="100" /> <text>Some Text</text> 有任何想法吗?
105 javascript  dom  text  svg 

3
XML文档到字符串
获取XML文档(org.w3c.dom.Document)的String表示的最简单方法是什么?那就是所有节点都将在一行上。 例如,从 <root> <a>trge</a> <b>156</b> </root> (这只是一个树表示,在我的代码中它是一个org.w3c.dom.Document对象,因此我不能将其视为字符串) 至 "<root> <a>trge</a> <b>156</b> </root>" 谢谢!
104 java  xml  string  dom  xmldocument 

13
有没有办法选择同级节点?
由于某些性能原因,我试图找到一种仅选择所选节点中同级节点的方法。 例如, <div id="outer"> <div id="inner1"></div> <div id="inner2"></div> <div id="inner3"></div> <div id="inner4"></div> </div> 如果我选择了inner1节点,是否有办法访问其兄弟inner2-4节点?
104 javascript  dom  siblings 


6
为什么document.querySelectorAll返回StaticNodeList而不是真正的Array?
令我感到困扰的是,document.querySelectorAll(...).map(...)即使在Firefox 3.6 中我也无法做到这一点,而且仍然找不到答案,所以我认为我应该交叉张贴此博客中的问题: http://blowery.org/2008/08/29/yay-for-queryselectorall-boo-for-staticnodelist/ 有人知道您没有获得阵列的技术原因吗?或者为什么StaticNodeList不会以这样的方式数组继承,你可以使用map,concat等等? (顺便说一句,如果它只是您想要的一个功能,您可以执行类似NodeList.prototype.map = Array.prototype.map;...的操作,但是再次,为什么首先有意阻止此功能?)

13
如何使用CSS隐藏<select>菜单中的<option>?
我已经意识到Chrome似乎不允许我隐藏&lt;option&gt;在中&lt;select&gt;。Firefox将会。 我需要隐藏&lt;option&gt;与搜索条件匹配的。在Chrome网络工具中,我可以看到display: none;我的JavaScript 正确设置了它们,但是一旦&lt;select&gt;单击菜单,它们就会显示出来。 &lt;option&gt;单击菜单时,如何显示不符合搜索条件的这些?谢谢!
103 javascript  jquery  css  dom 


3
innerHTML是异步的吗?
我希望我不会自欺欺人,但是我试图理解这两行代码中正在发生的事情: document.body.innerHTML = 'something'; alert('something else'); 我观察到的是,警报在HTML更新之前显示(或者可能在更新之前,但页面没有刷新/重新绘制/任何内容) 检出此Codepen以了解我的意思。 请注意,即使将alert在setTimeout(..., 0)没有帮助。似乎需要更多事件循环innerHTML才能实际更新页面。 编辑: 我忘了提我正在使用Chrome,但没有检查其他浏览器。看起来它仅在Chrome中可见。不过,我仍然很感兴趣为什么会这样。

6
如何正确地通过getElementsByClassName进行迭代
我是Javascript初学者。 我是通过初始化网页的window.onload,我必须按类名(slide)查找一堆元素,然后根据某种逻辑将它们重新分配到不同的节点中。我有一个函数Distribute(element),将一个元素作为输入并进行分配。我想做这样的事情(例如在此处或此处概述的示例): var slides = getElementsByClassName("slide"); for(var i = 0; i &lt; slides.length; i++) { Distribute(slides[i]); } 但这对我getElementsByClassName没有任何帮助,因为它实际上并不返回数组,而是一个NodeList,即... 这是我的推测 ...正在函数内部更改Distribute(DOM树正在此函数内部更改,并且某些节点发生了克隆)。For-each循环结构也无济于事。 变量滑块的行为实际上是不确定的,通过每次迭代,它会疯狂地更改其长度和元素顺序。 在我的情况下,迭代NodeList的正确方法是什么?我当时正在考虑填充一些临时数组,但不确定如何做到这一点... 编辑: 我忘了提到的一个重要事实是,其中可能有一张幻灯片,而实际上正是slides由于用户Alohci而改变了变量,正如我刚刚发现的那样。 对我来说,解决方案是先将每个元素克隆到数组中,然后再将数组一个接一个地传递Distribute()。
100 javascript  html  dom 

9
使用Jquery查找父div的ID
我有一些这样的html: &lt;div id="1"&gt; &lt;p&gt; Volume = &lt;input type="text" /&gt; &lt;button rel="3.93e-6" class="1" type="button"&gt;Check answer&lt;/button&gt; &lt;/p&gt; &lt;div&gt;&lt;/div&gt; &lt;/div&gt; 和一些JS是这样的: $("button").click(function () { var buttonNo = $(this).attr('class'); var correct = Number($(this).attr('rel')); validate (Number($("#"+buttonNo+" input").val()),correct); $("#"+buttonNo+" div").html(feedback); }); 我真正想要的是按钮上是否没有class =“ 1”(我知道数字类无效,但这是WIP!),因此我可以根据父div的ID。在现实生活中,有多个部分看起来像这样。 如何找到作为按钮父母的div的ID。 将答案存储在按钮代码中的方式会更语义化。我想让非程序员尽可能地做到这一点,而又不会破坏东西!
99 jquery  dom  semantics 

3
什么是影子根
在Google Chrome浏览器的开发人员工具中,我#shadow-root在&lt;html lang="en"&gt;标签下看到了一个右侧。它有什么作用,用途是什么?我在Firefox和IE中都没有看到它;仅在Chrome中,这是一项特殊功能吗? 如果我打开它,它会显示&lt;head&gt;,&lt;body&gt;并在旁边显示一个链接reveal,并单击指向,&lt;head&gt;和&lt;body&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.