У меня есть несколько разных таблиц на одной странице, но, к сожалению, им не были назначены какие-либо уникальные идентификаторы. Я хочу удалить таблицу с помощью команды JS, но поскольку идентификатор нельзя использовать, можно ли удалить таблицу на основе определенного атрибута? Например, есть ли команда удалить все таблицы на странице с атрибутом: width = "25%"?Удалить объект по атрибуту в javascript
ответ
Я знаю, что это уже есть какое-то решение, но я возносить еще одну альтернативы.
var tables = document.getElementsByTagName('table');
for(var i = 0; i < tables.length; i++){
if(tables[i].getAttribute('width') == "25%"){
tables[i].parentNode.removeChild(tables[i]);
}
}
Демоверсия http://codepen.io/michaelehead/pen/HfdKx.
Для этого вы можете использовать querySelectorAll
.
var x = document.querySelectorAll("table[width='25%']");
for (var i=0; i<x.length; i++) { //returns array of elements that match the attribute selector
x[i].remove(); //call prototype method defined below
}
Удаления сложен, я нашел этот код, что делает хорошую методу удалить
Element.prototype.remove = function() {
this.parentElement.removeChild(this);
}
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
for(var i = 0, len = this.length; i < len; i++) {
if(this[i] && this[i].parentElement) {
this[i].parentElement.removeChild(this[i]);
}
}
}
Это создает прототип функции remove()
, что итерирует узел и удаляют ребенок.
Пожалуйста, обратите внимание, что querySelectorAll
не будет работать в IE8 или ниже, но плакат способа-прототипа сказал, что он должен работать в IE8, но не 7.
Работал отлично, спасибо :) – Noob
Да вы можете. Самый простой способ - использовать JQuery. В вашем яваскрипте кода, который вы бы просто написать:
$("[attribute=value]").remove()
Так что в вашем случае это может быть что-то вроде $("table[width='25%']").remove()
Абсолютно работает, но он не просил ответа jQuery. – SomeKittens
Согласовано. Просто пытаюсь быть полезным. –
- 1. Javascript Обновить объект массива по атрибуту объекта
- 2. объект сортировки по атрибуту
- 3. Найти объект по атрибуту
- 4. Найти конкретный объект в списке по атрибуту
- 5. Фильтр Algolia по вложенному атрибуту JavaScript
- 6. AngularJS привязывает объект javascript к атрибуту директивы
- 7. Выберите узел xml по атрибуту в javascript
- 8. Laravel: Получить объект из коллекции по атрибуту
- 9. Rails 4 - удалить по полиморфному атрибуту
- 10. Удалить дублированные элементы из XML по атрибуту
- 11. Удалить анкер (кнопка возврата) по атрибуту rel
- 12. Jquery удалить div по атрибуту данных
- 13. Как удалить объект объекта javascript по значению?
- 14. jquery - проверка встроенного javascript по атрибуту
- 15. Javascript - как удалить объект?
- 16. Удалить объект в JavaScript эффективно
- 17. Удалить объект в Firebase? (JavaScript)
- 18. удалить объект элемент Javascript
- 19. Удалить объект по клику
- 20. Значение суммы javascript в группе циклов по атрибуту
- 21. свойства проверки по атрибуту
- 22. Как найти объект по атрибуту, отличному от id в Rails?
- 23. Как удалить объект по ключу в массиве Javascript?
- 24. Назначение определенной функции атрибуту объекта в javascript
- 25. Сортировка списка по данному атрибуту
- 26. Сортировка коллекции по атрибуту объекта
- 27. Как запросить объекты по атрибуту в IndexedDB?
- 28. Найти элемент по атрибуту
- 29. Сортировать по атрибуту ребенка
- 30. атрибут ref по атрибуту
+1 для хорошей альтернативы –
Спасибо, мне пришлось использовать это вместо этого, так как в моем случае я запускал команды JS через веб-браузер Android, который, очевидно, не поддерживает querySelectorAll. – Noob