Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выборка атрибута у всех элементов (https://javascript.ru/forum/misc/72734-vyborka-atributa-u-vsekh-ehlementov.html)

Tipylja 22.02.2018 15:01

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

Но я получаю значение только из первой ссылки, дальше скрипт не идет. Хотя если я хочу получить анкор ссылок через .text(), то я получаю анкоры всех нужны ссылок на странице, но мне нужно не значение анкора а значение атрибута href, подскажите как это правильно сделать?

Nexus 22.02.2018 15:04

let val=$(".link-show").toArray().map(function(item){
    return item.getAttribute('href');
});

laimas 22.02.2018 15:05

Цитата:

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

Ну так это же коллекция, а не одна ссылка.

$.each($(".link-show").attr('href')), function() {
    this.href //значение
})

ksa 22.02.2018 15:13

Цитата:

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

Как вариант

$(".link-show").each(function(){
    alert(this.href);
});

j0hnik 22.02.2018 15:16

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


привет коллеги!

ksa 22.02.2018 15:18

Цитата:

Сообщение от j0hnik
привет коллеги!

:victory:

Tipylja 22.02.2018 15:26

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

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

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

j0hnik 22.02.2018 15:45

$(function() {
    
    $("a.link-show").each(function () {
            console.log(this.href);
    });
});


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