2016-12-27 7 views
2

Мне нужно найти div с классом «добрее», который имеет элемент «a». Мне нужно получить и предупредить атрибут href от.Найти элементы в Javascript

UPDATED EXEMPLE: Например. Если бы я был:

<div class="controls-wrapper"> 
    <div class="title" role="contentinfo"> 
     <header> 
      <div class="kinder" aria-hidden="true"> 
       <a tabindex="-1" href="https://google.com" target="_blank"> 
        <img src="https://imageUrl/120x120.jpg" alt="" width="60" height="60"> 
       </a> 
      </div> 

Мне нужно, чтобы предупредить "http://google.com"

Я попытался следующий код:

var aUserVideo = document.getElementsByClassName('kinder') 

aUserVideoHref = aUserVideo.attribute("a"); 
aUserVideoHref = aUserVideoHref.attribute("href"); 

alert(aUserVideoHref); 
+1

'getElementsByClassName' возвращает массив объект, похожий – j08691

ответ

3

Проблемы:

  1. Javascript метод getElementsByClassName() возвращение массива, как объект всех дочерних элементов, которые имеют все заданные имена классов, так что вы имеете целевой объект, который вы хотите использование по индексу (пример для первого использования aUserVideo[0]).

  2. Для того, чтобы получить какой-либо атрибут, вы должны использовать getAttribute() вместо attribute.

Предлагаемого решение:

Вы могли бы просто получить HREF помощью querySelector с .href как:

document.querySelector(".kinder a").href 

Надеется, что это помогает.

window.addEventListener("DOMContentLoaded", function() { 
 
    console.log(document.querySelector(".kinder a").href); 
 
}, false);
<div class="kinder" aria-hidden="true"> <a tabindex="-1" href="http://google.com" target="_blank"> <img src="https://imageUrl/120x120.jpg" alt="" width="60" height="60"> </a> </div>

+0

Это не будет работать, если у div нет метки привязки. Вопрос немного двусмыслен относительно того, возможно ли это. – Marie

+0

Это правда, и OP говорит: мне нужно найти div с классом «добрее», у которого есть элемент «a» _, поэтому мы должны получить только привязки внутри '.kinder'. –

+0

Я получаю undefined – sdadsad

2

Вы ваш пост с тегами JQuery. Вот как JQuery, чтобы сделать это:

alert($('.kinder a').prop('href')); 

Или ванильный JavaScript:

alert (document.querySelectorAll('.kinder a')[0].href); 
+0

я получил неопределенный – sdadsad

0

Вы можете получить его с Jquery используя attr функцию:

Jquery:

alert($('.kinder a').attr('href')); 

С уважением!

+0

контратип ранее ответа. –

+0

Я получаю 'undefined' – sdadsad

+0

Вы используете jquery или нет? –

Смежные вопросы