javascript - Hur man får href-text med CSS-väljare


Jag har följande HTML nedan från Wikipedias huvudsida på https://www.wikipedia.org/. Jag försöker få href-texten

//en.wikipedia.org/
<div class="central-featured-lang lang1" lang="en">
<a href="//en.wikipedia.org/" title="English — Wikipedia — The Free Encyclopedia" class="link-box">
<strong>English</strong><br>
<em>The Free Encyclopedia</em><br>
<small>5&nbsp;077&nbsp;000+ articles
</a>
</div>

Jag har provat detta $$ ('.central-featured-lang.lang1 a[href$=".org/"]') men jag får fortfarande hela utdata, inte bara href-texten.

[<a href="//en.wikipedia.org/" title="English — Wikipedia — The Free Encyclopedia" class="link-box">…</a><strong>English</strong><br><em>The Free Encyclopedia</em><br><small>5&nbsp;077&nbsp;000+ articles</a>]

Allt råd uppskattas mycket.

Svar #1

I Javascript kan du använda document.querySelector tillsammans med href-attributet, på detta sätt:

var url = document.querySelector('.central-featured-lang.lang1 a[href$=".org/"]').href;
alert(url);
<div class="central-featured-lang lang1" lang="en">
  <a href="//en.wikipedia.org/" title="English — Wikipedia — The Free Encyclopedia" class="link-box">
    <strong>English</strong>
    <br>
    <em>The Free Encyclopedia</em>
    <br>
    <small>5&nbsp;077&nbsp;000+ articles
  </a>
</div>

Svar #2

Använd .attr()-metoden:

$('.central-featured-lang.lang1 a[href$=".org/"]').attr("href")

var url = $('.central-featured-lang.lang1 a[href$=".org/"]').attr("href");
alert( url );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="central-featured-lang lang1" lang="en">
<a href="//en.wikipedia.org/" title="English — Wikipedia — The Free Encyclopedia" class="link-box">
<strong>English</strong><br>
<em>The Free Encyclopedia</em><br>
<small>5&nbsp;077&nbsp;000+ articles
</a>
</div>