Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Получить id элемента (https://javascript.ru/forum/dom-window/69464-poluchit-id-ehlementa.html)

Янковиц 25.06.2017 16:52

Получить id элемента
 
Добрый день. Есть фрагмент верстки:
<ul>
   <li class="cat-item cat-item-4 current-cat"><a href="#">Wordpress</a></li>
   <li class="cat-item cat-item-1"><a href="#">Верстка</a></li>
</ul>

Подайте пожалуйста идею, как извлечь цифру из того тега li, в котором есть класс current-cat?
Спасибо.

рони 25.06.2017 17:08

Янковиц,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
$(function() {
var num = $(".current-cat");
num = num.length && +num[0].className.match(/\d+/);
alert(num);
});
  </script>
</head>

<body>
<ul>
  <li class="cat-item cat-item-4 current-cat"><a href="#">Wordpress</a></li>
  <li class="cat-item cat-item-1"><a href="#">Верстка</a></li>
</ul>


</body>
</html>

Янковиц 25.06.2017 17:14

Круто. Спасибо большое.

Янковиц 25.06.2017 17:21

Когда у элементов отсутствуют класс current-cat, в консоли появилась ошибка: Cannot read property 'className' of undefined
Как её убрать, но чтобы скрипт нормально реагировал на отсутствие класса?

рони 25.06.2017 17:31

Янковиц,
а что будет в num если нет класса?

j0hnik 25.06.2017 17:36

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
$(function() {
if ( $("li").is(".current-cat") ) {var num = $(".current-cat")[0].className.match(/\d+/);
alert(+num)};

});
  </script>
</head>

<body>
<ul>
  <li class="cat-item cat-item-4 current-cat"><a href="#">Wordpress</a></li>
  <li class="cat-item cat-item-1"><a href="#">Верстка</a></li>
</ul>


</body>
</html>

рони 25.06.2017 17:37

Янковиц,
смотрите пост №2 снова. или ноль и цифра

Янковиц 25.06.2017 18:11

Спасибо большое всем. Все работает как часы!


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