无法从jQuery中的元素获取文本

时间:2015-05-31 17:18:39

标签: javascript jquery html

我有一个HTML设置如下,我正在尝试使用jQuery访问字体字段中的text。该表有多行,因此jQuery中的第一行,由于某种原因我得到一个为title变量返回的空字符串。谢谢你的帮助!

HTML

<table class="table">
    <tbody>
        <tr>
            <td class="head">
                <a href="link" target="_self">
                    <p>
                        <font>SomeText</font>
                    </p>
                </a>
            </td>
        </tr>
    </tbody>
</table>

的jQuery

$('.table').each(function(){
    $(this).filter(function(){
        var data   = $(this);
        title = data.children(".head").text();
        json.array.push({
            "title" : title
            });
    })
})

2 个答案:

答案 0 :(得分:1)

.head不是.table的孩子。所以.children(".head")不会返回任何元素。您应该使用.find代替。

此外,.filter似乎没必要:

$('.table').each(function(){
    var data = $(this);
    title = data.find(".head").text();
    json.array.push({
        "title" : title
    });
})

答案 1 :(得分:0)

你的元组头没有文本,你需要调整你的选择器来获得实际的字体元素,如下所示:

Enumarable.Skip