jQuery - this.text()的问题

时间:2012-10-02 17:08:32

标签: jquery if-statement this

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

有什么想法吗?

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

4 个答案:

答案 0 :(得分:3)

您可以使用$.trim效用函数:

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

http://jsfiddle.net/cncfA/

答案 1 :(得分:2)

过滤到锚标记。

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

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

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

答案 2 :(得分:0)

你的李没有文字......它们包含< a>有文字..试试:

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

答案 3 :(得分:0)

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

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

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

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

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

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