Получить 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? Спасибо. |
Янковиц,
<!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> |
Круто. Спасибо большое.
|
Когда у элементов отсутствуют класс current-cat, в консоли появилась ошибка: Cannot read property 'className' of undefined
Как её убрать, но чтобы скрипт нормально реагировал на отсутствие класса? |
Янковиц,
а что будет в num если нет класса? |
<!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> |
Янковиц,
смотрите пост №2 снова. или ноль и цифра |
Спасибо большое всем. Все работает как часы!
|
Часовой пояс GMT +3, время: 18:17. |