如果包含字符串,请删除所有元素
Remove all elements if contain a string
如果innerHTML中包含某个字符串,我将尝试删除任何元素。
我有这个代码:
elemItem = document.getElementsByClassName("item");
elemItemPrice = document.getElementsByClassName("price");
for (i = 0; i < elemItem.length; i++) {
if (elemItemPrice[i].innerHTML.trim().indexOf("Sold") != -1){
elemItem[i].parentNode.removeChild(elemItem[i])
}
}
这是HTML:
<div class="item">
<span class="price">Sold</span>
</div>
<div class="item">
<span class="price">Sold</span>
</div>
<div class="item">
<span class="price">$4.99</span>
</div>
对我来说,它只删除了一个已售出的div标签。。
问题是,当您删除一个项时,您会更改集合的索引(即,i=1的项移动到0)。要更正此问题,请向后迭代:
for (i = elemItem.length-1; i >= 0 ; i--) {
您应该能够使用数组的筛选方法,如这个SO问题所示:javascript 中的array.select()
相关文章:
- 删除对HTML元素的拖动
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 从所有元素中删除HTML5验证
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 从组件状态的数组中删除元素
- angularjs删除动态形式元素中的特殊字符
- Mongoose-在更新中删除数组元素
- 从数组中删除元素的最佳方法是:javascript/jquery
- 删除不起作用的父元素和所有子元素
- 一些元素没有从数组中删除
- 正在尝试删除子元素的最后一个子元素
- JavaScript-如何按类查找元素并删除此类
- 正则表达式条件来删除元素
- Small Javascript从动态表单中删除多个元素的问题
- javascript:在元素删除后停止setInterval
- JQUERY:动态 AJAX 和 html 元素删除
- AngularJS ngRepeat元素删除
- AngularJS & lt; select>使用ng-model和ng-options在元素删除时被破坏
- jQuery UI datetimepicker绑定到错误的输入后DOM元素删除
- 防止 jQuery 在元素删除时取消绑定事件