Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   если имя атрибута data-* меняется случайным образом (https://javascript.ru/forum/events/68807-esli-imya-atributa-data-%2A-menyaetsya-sluchajjnym-obrazom.html)

pevec1 10.05.2017 08:46

если имя атрибута data-* меняется случайным образом
 
На странице есть элементы <li class="test" data-ft5g="">пример</li>
, где data-* меняется случайным образом. Как выделить все эти элементы и удалить, допустим?

laimas 10.05.2017 09:00

То есть есть LI с этим атрибутом и есть без них, и в пределах списка они разные?
Интересно зачем же случайно менять имя атрибута?

pevec1 10.05.2017 09:04

Да, именно так, в пределах списка разные. Не знаю, зачем их меняют. Но не получается их отловить.

laimas 10.05.2017 09:06

Цитата:

Сообщение от pevec1
в пределах списка разные

но все они имеют атрибуты или нет?

pevec1 10.05.2017 09:09

нет, не все, только некоторые.

laimas 10.05.2017 09:27

pevec1,
наверное только по количеству атрибутов у элемента можно вычислить.

рони 10.05.2017 10:03

pevec1,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .red{
    background-color: hsla(0, 100%, 50%, 1);
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
$(".test").each(function(indx, el){
     Object.keys($(el).data()).length && $(el).addClass("red")});
});
  </script>
</head>

<body>
<ul>
  <li class="test" data-ft5g="">пример</li>
  <li class="test" >пример</li>
  <li class="test" data-ft5g="">пример</li>
</ul>

</body>
</html>

laimas 10.05.2017 10:15

Не дай бог будет использован метод data() и все развалится. )

pevec1 10.05.2017 11:36

Цитата:

Сообщение от laimas (Сообщение 452036)
pevec1,
наверное только по количеству атрибутов у элемента можно вычислить.

Получилось именно по количеству элементов

laimas 10.05.2017 11:55

Цитата:

Сообщение от pevec1
Получилось именно по количеству элементов

Это как? :) Может все-таки количество атрибутов у элемента:

if(this.attributes.length > 1) или иное условие.


Часовой пояс GMT +3, время: 11:05.