Jquery:Get$内元素的文本(this)

Jquery:Get$内元素的文本(this),jquery,Jquery,下面是一段适合我的jquery代码: onSelect: function() { var thevalue = $(this).val(); jQuery('#input').val(thevalue); } 标记是这样的:有一个文本, 然后是自动建议的项目列表 <ul class="ac_results"> <li><span class="suggested"> <span class="ac_m

下面是一段适合我的jquery代码:

   onSelect: function() {
        var thevalue = $(this).val();
        jQuery('#input').val(thevalue);
    }
标记是这样的:有一个文本, 然后是自动建议的项目列表

<ul class="ac_results">
<li><span class="suggested">
  <span class="ac_matched">(matched text)</span>
 (rest of auto-suggested text)</span>
<div class="count">(number)</div>
 </li>
repeat..
repeat...
etc...
</ul>
它返回为空


数字可以是任何东西,跨度可以包含数字,所以我厌倦了只过滤数字。

你没有发布HTML,但显而易见的怀疑是

$(this).find(".suggested")
不返回任何元素。在选择其他内容之前,始终确保您的链在jQuery中的堆栈上有元素

这很容易测试:

alert($(this).find(".suggested").length);

如果您得到
0
,则它与任何内容都不匹配。如果您没有收到任何警报,则整个函数将无法运行。

您可以发布标记吗?我得到0,它与任何内容都不匹配。但是,正如我所说,当我只使用$(this.val())时,它就起作用了;要找出onSelect事件是什么响应并不容易。需要注意的是,find只查找子元素,而不查找元素本身。换句话说,div.find('.foo')将只找到div的子元素(任何深度),而不是div本身。如果得到0,则链中没有元素-这就是需要解决的问题。
alert($(this).find(".suggested").length);