草庐IT

NT-DOM-NV

全部标签

javascript - 如何判断 DOM 元素在当前视口(viewport)中是否可见?

是否有一种有效的方法来判断DOM元素(在HTML文档中)当前是否可见(出现在视口(viewport)中)?(问题是指Firefox。) 最佳答案 现在mostbrowsers支持getBoundingClientRect方法,这已经成为最佳实践。使用旧答案非常慢,notaccurate和hasseveralbugs。选择为正确的解决方案是almostneverprecise。此解决方案已在InternetExplorer7(及更高版本)、iOS5(及更高版本)Safari、Android2.0(Eclair)及更高版本、BlackB

php - 尝试使用 HTML DOM 解析器获取亚马逊页面上的主要图像

我正在尝试使用HTMLDOM解析器来获取“主要”产品图像的图像源,无论解析器指向哪个产品页面。在每个页面上,该图像似乎都具有ID“landingImage”。你会认为这应该可以解决问题:$finalarray[$i][2]=$html->find('img[id="landingImage"]',0)->src;但没有这样的运气。我也试过foreach($html->find('img')as$e)if(strpos($e,'landingImage')!==false){$finalarray[$i][2]=$e->src;}我注意到图像源通常有SY300或SX300,所以我这样做了

javascript - 附加到 DOM 之前的 DOM 元素宽度

我确定答案是否定的,但是是否有可能确定元素的宽度在附加到DOM之前?添加后,我知道我可以使用offsetWidth和offsetHeight。谢谢 最佳答案 诀窍是显示元素(display:block)但也隐藏它(visibility:hidden)并将其位置设置为绝对位置,这样它就不会影响页面流。正如Oscar所提到的,MooToolsElement.Measure类就是这样做的。 关于javascript-附加到DOM之前的DOM元素宽度,我们在StackOverflow上找到一个类

javascript - 获取 dom 元素的 ID

console.log(视频);在我的控制台中输入以下行:​…​所以“视频”包含整个dom对象。如何使用JavaScript查询此对象的ID?类似varvidID=video.getId(); 最佳答案 就是video.id......... 关于javascript-获取dom元素的ID,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5022887/

javascript - DOM 更改后更新 Vue.js 中的数组顺序

我有一个基本的Vue.js对象:varplaylist=newVue({el:'#playlist',data:{entries:[{title:'OhNo'},{title:'LetitOut'},{title:'That\'sRight'},{title:'JumponStage'},{title:'ThisistheRemix'}]}});HTML:{{entry.title}}我还使用拖放库(dragula)来允许用户重新排列#playlistdiv。但是,在用户使用dragula重新排列播放列表后,此更改不会反射(reflect)在Vue的playlist.entries中,

数百个 DOM 元素的 JavaScript 事件监听器性能

我有一个有很多child(接近3000个项目)和一些有很多级别。我在“点击”(我使用的是jQuery)上附加了一个事件监听器,我用它来切换的子项的可见性。.我想知道拥有这么多事件监听器对性能有何影响。(至少有1000个!)。这对性能来说是个大问题吗?我并没有真正看到新的网络浏览器在性能方面有什么问题,但IE8似乎非常慢。对所有事情都进行事件监听是不是非常不负责任?! 最佳答案 答案是大大的YES。是的,它会影响性能。事件委托(delegate)正是为此而建立的。不要将您的处理程序绑定(bind)到每个li,而是将它绑定(bind)到

javascript - SweetAlert2, .then() - 不立即更新 DOM

问题:我想在甜蜜警报上单击“确定”后将用户重定向到另一个页面,但是在我出于某种原因打开另一个甜蜜警报之前,用户不会被重定向。您可以在代码上断点,但页面上没有任何反应。问题的简单示例:http://jsfiddle.net/ADukg/14306/注意:包括0秒超时“解决问题”重现:1)注意箭头后面的文字..$scope.name="original",可以看到页面上显示了。2)单击“先单击”按钮。这将运行函数$scope.changeMe(),它将$scope.name更新为“delayed......”3)到目前为止,按钮上方的文字应该已经更改。但直到你打开另一个甜蜜的警报,文本才会

javascript - 使用 JavaScript (appendChild) 向 DOM 添加新元素

我有时需要向现有HTML页面添加元素(例如新链接和图像),但我只能访问页面中远离我需要插入元素的地方的一小部分。我想使用基于DOM的JavaScript技术,我必须避免使用document.write()。到目前为止,我一直在使用这样的东西://CreatenewimageelementvarnewImg=document.createElement("img");newImg.src="images/button.jpg";newImg.height="50";newImg.width="150";newImg.alt="ClickMe";//Createnewlinkelement

c++ - Xerces-C++ DOM节点行/列号位置

我正在使用Xerces-C++编写自定义XML验证器。我当前的方法是将文档加载到DOM中,然后对其执行检查。我需要的是一种访问DOM中节点的行号/列号的方法。我一直在阅读API文档和谷歌搜索,但我做空了。是否有可能以某种方式检索有关节点的此类信息?实现XMLValidator界面看起来可能会为我提供此类信息,但它需要完全重写预期的验证架构。坦率地说,XMLValidator方法看起来丑陋且单一。我有一个不同的且更更简单的验证系统(一个也很容易并行化的系统)并且一切正常;我只需要节点的行号/列号信息。我以前用过(现在不能用)的QtDOM实现providesthisinformationu

java - 我可以从多个线程安全地查询带有 xpath 表达式的 DOM 文档吗?

我计划在多个线程可以查询文档的应用程序中使用dom4jDOM文档作为静态缓存。考虑到文档本身永远不会改变,多线程查询是否安全?我写了下面的代码来测试它,但我不确定它是否真的证明操作是安全的?packagetest.concurrent_dom;importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.DocumentHelper;importorg.dom4j.Element;importorg.dom4j.Node;/***Helloworld!**/publicclassAppextends