如何使用 Jquery 从事物列表中获取 text/val

How to get text/val from a list of things using Jquery

我定制了 wp_get_archive 添加了一个 class="tlyear" 到它的标签。

并使用 jquery 获取每一年

var y = jQuery('.tlyear');
var m = jQuery('.tlyear').text();
jQuery('.tlyear').click(function() {
  alert(m);
});

当我点击其中一个时,它应该 return 警报文本为 1955 年,但相反,它 return 将一整串年份显示为“19481955”。我如何只从我点击的地方获得年份?因为所有的都具有相同的 class.

您想获取刚刚单击的项目的文本,因此使用 this,它指的是该项目:

jQuery('.tlyear').click(function() {
    alert(jQuery(this).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="tlyear"><a href="#">1948</a></div>
<div class="tlyear"><a href="#">1955</a></div>
<div class="tlyear"><a href="#">1963</a></div>

(或者使用 jQuery(this).find('a').text() 可能有意义,因为您将点击处理程序绑定到包含的 div,而不是绑定到具有您想要的文本的锚元素,尽管它实际上并不是这些 div 中是否没有其他元素很重要。)

在您的代码中,这一行:

var m = jQuery('.tlyear').text();

...获取 所有 匹配元素的文本,与稍后可能点击的元素无关。