首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Uncaught : lab.find不是函数

Uncaught : lab.find不是函数
EN

Stack Overflow用户
提问于 2016-11-30 15:21:45
回答 1查看 759关注 0票数 0

我不明白为什么JQuery说lab.find()不是函数。我正在寻找这个html中的文本:

代码语言:javascript
运行
复制
<div class="btn-group col-md-4" data-toggle="buttons">

    <label data-pk="4" id="languagebuttonselect1" class="btn prmr-btn-empty top-margin left-margin center-elements target_language_choice active" style="padding: 8px;  color: black; width: 100%;">
        <input type="checkbox" name="target_languages" value="4" autocomplete="off">

        <img align="left" width="30px" style="margin-bottom: 0;" src="/static/img/flags/550px\gb.png">
        <b class="left-margin" style="text-align: left">English</b>
                                            </label>
                                        </div>

当标签(标签)的类为active时,我想获得文本(在本例中为"English")。

代码语言:javascript
运行
复制
function refreshSummaryTaretLanguages(){
    var actives = $('.target_language_choice.active');
    var summ_ul_targ_langs = $('#summary_target_languages > ul');
    summ_ul_targ_langs.empty();

    $.each(actives,function (_,lab) {
        summ_ul_targ_langs.append('<li>'+lab.find('b').text()+'</li>');
    })
}

不幸的是,它在这样的标签中找不到任何东西,我不知道该怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-30 15:25:49

jQuery传递数组元素的$.each回调,所以您得到的是DOM节点,而不是jQuery对象。

只在您已经拥有的.each()对象上使用jQuery方法会更简单:

代码语言:javascript
运行
复制
$(actives).each(function() {
    summ_ul_targ_langs.append('<li>'+$(this).find('b').text()+'</li>');
});

.each()回调基本上与$.each()执行相同的任务,并且也将传递给元素。它还安排调用回调,以便this也引用元素。将this包装为$(this)可以为您提供一个jQuery对象,您可以从该对象调用.find()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40892001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档