草庐IT

dom-repeat

全部标签

javascript - JavaScript 如何将 DOM 元素存储在变量中?

我的意思是当您执行以下操作时,JavaScript如何存储DOM元素:varfoo=document.getElementsByTagName('p');foo变成了什么?一组对象?以及如何向该变量添加更多元素,例如:varbar=document.form[0].getElementsByTagName('input');//5elementsvarfoo=document.form[1].getElementsByTagName('input');//4elementsbar=+foo;for(i=0;i是否可以将更多相同类型的元素添加到一个已经有元素的变量中?我是否必须遍历要添加

javascript - 调用 $(this) 时,jQuery 会重新查询 DOM 吗?

在下面的代码中,当$(this)被调用时,jQuery是否重新查询DOM,就好像选择器已传递给它一样(使用对象的某些属性作为选择器),或者jQuery是否保留先前返回的对象?$('.someButton').on('click',function(){$(this).remove();//Isthisanotherlookup,orjustawrapperforthepreviouslyreturnedobject?}); 最佳答案 它不会重新查询DOM,this已经是一个元素。jQuery只是将上下文设置为元素,调整长度,然后返回

javascript - 如何检查 DOM 引用是否已被销毁?

这个问题在这里已经有了答案:HowcanIcheckifanelementexistsinthevisibleDOM?(27个答案)关闭7年前。假设我以老式方式(或任何其他可以获得DOM引用的方式)选择一个元素:varel=document.getElementById('myFavoriteElement');然后我从DOM中删除该元素的父元素,从而也删除了el。或者我直接删除el。有没有办法检查el是否仍然是一个有效的引用,它所引用的HTML是否仍然存在于DOM中?类似于el.hasBeenDestroyed的东西作为bool属性,或者类似的东西?

javascript - 我想使用 ng-if 跳过 ng-repeat 中的项目

我正在尝试在ng-repeat中使用ng-if来实现Accordion。根据条件值,ng-repeat应该跳过ng-repeat中的一些项目。例如如果item.condition为真,则只有它应该显示Accordion。下面的代码是我目前所拥有的,但无法正常工作。看起来对吗?{{item.label}} 最佳答案 你的ng-if包含双引号,应该是ng-if="item.condition==true",同时删除,来自Accordion元素您也可以将您的条件最小化为ng-if="item.condition"那么表达式将返回true和

javascript - AngularJS 在 ng-repeat 的当前迭代中定位元素

我确信这个问题已经以一种或另一种形式回答了无数次,但是我不确定要搜索什么才能找到解决方案。假设我们有一个简单的ng-repeat:GetTextBoxValue在javaScript文件中:function$scope.getTxtBoxVal(val){alert(val)}基本上我想知道应该在whatDoIPassInHere中传递什么参数,在jquery中类似于:$(this).siblings(input).val()我有一个解决方法,就是给每个文本框一个唯一的ID:>并用唯一ID定位它,但我相信有更优雅的方式来处理这个问题 最佳答案

javascript - 我如何在每次迭代之间间隔循环中为 DOM 元素设置动画?

我有一个函数foo,我想添加一个sleep/等待函数来制作一种DOM元素动画。我已经做了一些研究,我知道暂停javascript函数是不可能的,因为它会卡住浏览器-如果我错了请纠正我。我该如何克服它?functionfoo(){while(someCondition){var$someDiv=$('.someDiv:nth-child('+guess+')');$someDiv.css({'background-color':'red'});wait1000ms$someDiv.css({'background-color':'blue'});wait1000msif(someCond

javascript - 除了在 light DOM 中声明插槽名称之外,还有其他选择吗?

在shadowDOMv0中,开发人员不需要了解如何将lightDOM内容放置在组件的shadowdom中的内部实现。v0规范与内置组件的当前行为相匹配,如和消费者不太关心他们的元素内容具体放置在哪里。相反,影子DOM会自动选取与select中指定的选择器匹配的元素。上的属性标记并将它们放置在影子树内的正确位置。这需要更少的开发人员代码样板。在v1中,您需要具体了解插槽名称。模仿前面用提到的相同示例,我需要使用类似的东西whereslot属性值指定放置当前元素的位置。我也可以添加不打算包含在该插槽中的元素,例如.总而言之,我的担忧是:每次使用webcomponent时都需要指定额外的信息

javascript - 在 dom 中移动 Vue 组件?

如果我在移动设备上,我会在dom中向上移动Vue组件,因为我想使用绝对定位并想确保我不在relative容器中。if(this.mobile){this.$el.parentNode.removeChild(this.$el);document.getElementById('vue').appendChild(this.$el);}else{//Placetheelementbackatit'soriginallocation.}此代码与去抖动的resize方法一起放置,因此它也适用于调整窗口大小。它工作正常,但是当我开始使用移动设备并调整回桌面时,我需要获取组件首次初始化的原始do

javascript - 为什么 Selenium 找不到动态添加的 DOM 元素?

我用jQuery添加了一个DOM元素(一个链接)。我可以在Firebug中看到该元素,但由于某种原因Selenium找不到它。这是怎么回事?注意:不涉及AJAX,因此几乎立即添加了DOM元素。==编辑==这里有一些代码(使用jQuery)将链接附加到文档的末尾:$element=$("");$element.appendTo($("body"));我正在使用Capybara(带有Selenium)来查找链接并单击它,如下所示:find("#foo").click在我开始使用jQuery向DOM添加元素之前,我对Capybara或Selenium没有任何问题。

javascript - 在页面加载之前使用 Firebug 调试 DOM 突变

我在调试DOM更改时遇到问题,这些更改是由我正在运行的某些JavaScript代码引入的。在代码的某处,元素的类发生了变化,我正在试图查明位置。不幸的是,新的类名太过通用以至于搜索所有JS代码会得到太多结果而不是一个可行的选择。我试过使用Firebug进行一些调试,但尽管"BreakonAttributeChange"feature不错,我无法让它以我想要的方式工作。Firebug演示工作正常,但这是加载后的情况。问题似乎是我想在页面完全加载之前观察突变。我假设更改发生在$(document).ready()中的某处,所以它在DOM中,但我无法为UI断点选择元素演示案例(页面加载后)。