我不知道如何正确描述我的问题,但我认为我只需要朝着正确的方向推动一点。我做了一个小提琴,希望能解释我的问题。我有一个带有 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()