jQuery - Problems with this.text()



我不知道如何正确描述我的问题,但我认为我只需要朝着正确的方向推动一点。我做了一个小提琴,希望能解释我的问题。我有一个带有 onClick 事件处理程序的链接列表。相应的函数应将列表项的文本传递给新函数,该函数将字符串与另一个字符串进行比较。在我的理解中,第一个列表项(测试)应该提醒"酷"(因为字符串完全匹配),但它不会。

有什么想法吗?

我知道如果我使用 e.target.name 而不是 $(this).text(),这将起作用,但我需要传递链接文本而不是属性。

您可以使用$.trim实用程序函数:

clickFunc($.trim($(this).text()));

http://jsfiddle.net/cncfA/

向下筛选到锚标记。

$('a', this).text();

否则,您可能会从 li 获得空文本节点。

http://jsfiddle.net/vhKA9/2/

我注意到您将click事件绑定到列表中的li元素,而不是a元素。 当您将其更改为绑定到a 时,它会按预期工作:

http://jsfiddle.net/gromer/WdVbk/

如果您确实想要li元素上的 click 事件,请更改获取要发送到函数的文本的方式:

clickFunc($(this).find('a').text());

http://jsfiddle.net/gromer/FVSuz/

编辑:是的,我的小提琴中有一些console.log语句,如果您在IE中,它可能会损坏。

你的li没有文本。 它们包含具有文本的。尝试:

$(this).find('a').text()

最新更新