JQuery没有表现自己

时间:2010-01-08 15:42:03

标签: jquery css-selectors

当然这是jQuery,而不是我缺乏理解导致这个问题,但为了防止它是我的无能,有人可以告诉我如何在这个标签中返回文本“Acme”吗?

<div class="grid-56" id="1005" style="border:solid 1px lightgray;">
    <div class="grid-20 bold">
        <a href="#" class="id_select_company" id="company_name_dialog">
            Acme
        </a>
    </div>
</div>

这似乎不起作用!

var company_name = $("#" + id).children($("#company_name_dialog")).html();

它产生

<a href="#" class="id_select_company" id="company_name_dialog">
    Acme
</a>

我不想要锚标记,只需文本。

3 个答案:

答案 0 :(得分:5)

使用find()

var company_name = $("#" + id).find("#company_name_dialog").html();

它也应该与children()一起使用,但你不应该在其中传递一个jQuery对象,而是一个表达式,在本例中是'#company_name_dialog'

使用html()text()并不重要,因为现在您选择的<a>内部没有任何HTML。结果在两种情况下都相同,因为text()只是从内容中剥离HTML标记。将text()与原始代码结合使用会有效,但这可能是一种解决方法,您不会知道真正的问题是什么。

答案 1 :(得分:3)

尝试更直接的内容(特别是因为id属性应该与HTML文档唯一):

var company_name = $('#company_name_dialog').text();

答案 2 :(得分:2)

当然,使用.text()功能:

$("#" + id).children($("#company_name_dialog")).text();