草庐IT

NT-DOM-NV

全部标签

javascript - 如何突出显示 DOM Range 对象的文本?

我使用鼠标在html页面(在firefox中打开)上选择一些文本,并使用javascript函数创建/获取与所选文本对应的范围对象。userSelection=window.getSelection();varrangeObject=getRangeObject(userSelection);现在我想突出显示范围对象下的所有文本。我是这样做的,varspan=document.createElement("span");rangeObject.surroundContents(span);span.style.backgroundColor="yellow";好吧,这很好用,只有当范围

javascript - 检查缓存的 jquery 对象是否仍在 DOM 中

有谁知道如何判断缓存的jQuery对象是否已经过时,例如不再在DOM中?例如:var$cached_elem=$('.the_button');//..andthenlater$cached_elem.text('updating...');我最近遇到了$cached_elem由于某些其他事件而从DOM中删除的情况。所以我想做什么:if($cache_elem.isStillInDOM()){//nowdotimeconsumingstuffwith$cached_eleminDOM}在任何人提供之前,我已经使用了这个,这与我正在尝试做的事情相当相似:if($cached_elem.i

javascript - 从 jQuery 对象中检索 native DOM 元素?

如何让jQuery返回它封装的原生DOM元素? 最佳答案 当您使用jQuery查找元素时,您可以使用“get”函数获取它们:varregularElement=$('#myElementId').get(0);在“.each()”函数中,“this”指针指向一个“真实”元素:$('input.special').each(function(){vartype=this.type;this.value="explodingballoon";//etc})使用jQuery不会使Javascript“与众不同”。它是Javascript,

javascript - 从仅引用元素的 DOM 中删除元素

这要么非常简单,要么不可能。我知道我可以做到:varelement=document.getElementById('some_element');element.parentNode.removeChild(element);...但感觉很乱。有没有一种更简洁且得到普遍支持的方法来做同样的事情?似乎-至少对我来说-应该有这样的东西:document.getElementById('some_element').remove();...但这行不通,搜索Google/SO也没有找到任何替代方案。我知道这没那么重要,但是parentNode.removeChild()感觉很笨拙/凌乱/低效

javascript - 如何获取当前Vue组件的DOM元素?

当我在vue组件的某个方法中并想使用一些dom操作(通过jquery)时,我需要让DOM元素与我的组件相关(特别是当我在页面上有很多组件实例时-我需要对它们中的每一个单独“工作”——所以我无法仅使用没有技巧的jquery选择器来检测DOM元素...) 最佳答案 就这样(在“方法”中的任何方法中):letdomElement=this.$el;:)但请记住,只要您的组件不是FragmentInstance,这就是有效的即它有一个根HTML标签 关于javascript-如何获取当前Vue组

javascript - 从字符串创建 SVG DOM 元素

我将如何从String创建SVGDOM元素?例子:varsvgStr='backgroundLayer1'; 最佳答案 您可以使用DOMParser解析XML字符串。varparser=newDOMParser();vardoc=parser.parseFromString(stringContainingXMLSource,"image/svg+xml");已解析字符串的根元素将是doc.documentElement为了跨浏览器正常工作,您需要设置html命名空间,即您的字符串需要如下所示...varsvg2='

javascript - 如果 DOM 元素包含一个类,我如何检查 JavaScript?

如果DOM元素包含类,我如何在JavaScript中检查?我尝试了下面的代码,但由于某种原因它不起作用......if(document.getElementById('element').class=="class_one"){//code...} 最佳答案 要获取类属性的全部值,请使用.classNameFromMDC:classNamegetsandsetsthevalueoftheclassattributeofthespecifiedelement.自2013年以来,您得到了额外的帮助。许多年前,当这个问题第一次得到回答时

javascript - 当我查看 DOM 对象的 getter 属性时,控制台中发生了什么?

在控制台运行以下代码时:console.dir(document);在Chrome中,我看到了以下内容:这似乎暗示domain属性直接在document对象上。然而,事实并非如此。console.log(document.hasOwnProperty('domain'));在Chrome72中,沿着原型(prototype)链往上走,它似乎在Document.prototype上:console.log(Document.prototype.hasOwnProperty('domain'));console.log(Object.getOwnPropertyDescriptor(Doc

javascript - Vue.js v-html contenteditable 防止 dom 刷新以防止光标/插入符跳转

作为引用,我使用的是Vue2.0、Vuex和Firebase。我正在构建一个contenteditable组件,使用v-html绑定(bind)来呈现innerHTML。数据在KeyUp上更新。每当数据更新时,DOM元素都会用"new"数据刷新,导致插入符号/光标跳回到内容可编辑的div的开头。我研究了Rangy和其他一些stackoverflow解决方案,但我觉得最简单的解决方案是从数据刷新中解除绑定(bind)DOM元素。我希望数据仍然在firebase中更新,但不会导致元素刷新。有没有办法让我仍然使用v-html但阻止DOM元素随数据刷新?还是有另一种方法可以在不自动绑定(bin

javascript变量对应具有相同ID的DOM元素

这个问题在这里已经有了答案:DoDOMtreeelementswithIDsbecomeglobalproperties?(5个答案)关闭8年前。我是javascript的新手,我刚刚注意到一个我在任何地方都没有看到的javascript行为。如果我有一个分配了id的DOM元素,比如“x”,那么在我的javascript中,该元素会自动分配给变量x。我在chrome和safari中看到了这个。这是javascript的文档化功能吗?例如:window.onload=function(){alert(x==document.getElementById('x'));info.value=