1

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

有任何想法吗?

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

4

4 回答 4

3

您可以使用$.trim实用程序功能:

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

http://jsfiddle.net/cncfA/

于 2012-10-02T17:12:42.180 回答
2

Filter down to the anchor tag.

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

Otherwise you may get empty text nodes from the li.

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

于 2012-10-02T17:11:20.213 回答
0

你的 li 没有文本..它们包含有文本的 <a> .. 尝试:

$(this).find('a').text()
于 2012-10-02T17:13:38.217 回答
0

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

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

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

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

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

编辑:是的,我的 Fiddles 中有一些console.log语句,如果你在 IE 中,它可能会中断。

于 2012-10-02T17:14:03.537 回答