Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.02.2018, 15:01
Аспирант
Отправить личное сообщение для Tipylja Посмотреть профиль Найти все сообщения от Tipylja
 
Регистрация: 17.04.2017
Сообщений: 72

Выборка атрибута у всех элементов
Здравствуйте. Подскажите пожалуйста. Есть страница на которой есть перечень ссылок, мне нужно получить атрибут href у всех ссылок с определенным классом, делаю так:
$(function() {
    
    let val = $(".link-show").attr('href');
    console.log(val);
    
});

Но я получаю значение только из первой ссылки, дальше скрипт не идет. Хотя если я хочу получить анкор ссылок через .text(), то я получаю анкоры всех нужны ссылок на странице, но мне нужно не значение анкора а значение атрибута href, подскажите как это правильно сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 22.02.2018, 15:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

let val=$(".link-show").toArray().map(function(item){
    return item.getAttribute('href');
});
Ответить с цитированием
  #3 (permalink)  
Старый 22.02.2018, 15:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Tipylja
Но я получаю значение только из первой ссылки
Ну так это же коллекция, а не одна ссылка.

$.each($(".link-show").attr('href')), function() {
    this.href //значение
})
Ответить с цитированием
  #4 (permalink)  
Старый 22.02.2018, 15:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Tipylja
мне нужно получить атрибут href у всех ссылок с определенным классом
Как вариант

$(".link-show").each(function(){
    alert(this.href);
});
Ответить с цитированием
  #5 (permalink)  
Старый 22.02.2018, 15:16
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

let val=$.map($(".link-show"), function(el, i){
	return el.href;
});


привет коллеги!
Ответить с цитированием
  #6 (permalink)  
Старый 22.02.2018, 15:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от j0hnik
привет коллеги!
Ответить с цитированием
  #7 (permalink)  
Старый 22.02.2018, 15:26
Аспирант
Отправить личное сообщение для Tipylja Посмотреть профиль Найти все сообщения от Tipylja
 
Регистрация: 17.04.2017
Сообщений: 72

Всем спасибо. Взял вариант от ksa, как самый лаконичный, и добавил проверку тега, потому что на странице есть скрытые ссылки, у которых класс тот же, но это уже не тег а, а тег div
$(function() {
    
    $(".link-show").each(function () {

        if (this.tagName == "A"){
            console.log(this.href);
        };
        
    });
});

не знаю насколько правильно я проверяю, но работает!=)))

Последний раз редактировалось Tipylja, 22.02.2018 в 15:30.
Ответить с цитированием
  #8 (permalink)  
Старый 22.02.2018, 15:45
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$(function() {
    
    $("a.link-show").each(function () {
            console.log(this.href);
    });
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посчитать сумму ширины всех элементов в наборе без использования цикла Alex_D181 jQuery 7 10.06.2015 15:36
Как удалить класс всех дочерних элементов? Jeremen Events/DOM/Window 8 01.09.2012 20:43
Блокировка событий всех дочерних элементов moreo Элементы интерфейса 4 26.05.2012 23:58
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Суммирование значений всех элементов div frolvict jQuery 1 11.07.2011 17:05