Jquery:在$(this)中获取元素的文本

时间:2012-07-29 17:51:28

标签: jquery

这是一个适用于我的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>

此标记/ jQUery组合工作,但将带有数字的完整字符串返回到输入字段。我想省略这个号码,所以我做了:

   onSelect: function() {
        var thevalue = $(this).find(".suggested").text();
        jQuery('#input').val(thevalue);
    }

它返回空。

数字可以是任何数字,并且跨度可能包含数字,所以我厌倦了过滤数字。

1 个答案:

答案 0 :(得分:0)

您不发布您的HTML,但明显的怀疑是

$(this).find(".suggested")

没有返回任何元素。在选择其他内容之前,请始终确保您的链在jQuery堆栈中包含元素。

这很容易测试:

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

如果你得到0,它就不匹配。如果你根本没有警报,整个功能都没有运行。