如何从ul li列表中的链接获取href值

1 jquery

我有一个无序的列表,如:

<ul id="cities">
  <li><a href="/london/">London<a></li>
  <li><a href="/new-york/">New York<a></li>
  <li><a href="/paris/">Paris<a></li>
<ul>
Run Code Online (Sandbox Code Playgroud)

使用jquery如何获得"纽约"的href值?通过客户端只知道锚文本值,所以我想找到匹配的锚文本并提取href.

谢谢

Nic*_*ver 10

您可以使用:contains选择器,如下所示:

$("#cities li a:contains(New York)").attr('href');
Run Code Online (Sandbox Code Playgroud)

或者更长,但更准确(因为它:contains()也匹配"纽约市"),你可以使用该.filter()方法进行精确匹配,如下所示:

$("#cities li a").filter(function() {
  return $(this).text() === "New York";
}).attr('href');
Run Code Online (Sandbox Code Playgroud)