jQuery this.text在现场活动后无法在IE中运行

时间:2011-01-02 22:19:33

标签: jquery internet-explorer live this

我目前正在尝试使用一些jQuery函数更新我的网站。对于网络开发IE来说,总是很痛苦。

我有一个自动提示列表,如下所示:

<div id="suggestionBox">
    <ul>
        <li>
            <a class="entry" style="display:block;" href="#">somesuggestion</a>
        </li>
        ...
    </ul
</div>

当然,建议是从服务器获得的,所以每次更改输入字段时都会使用load()函数。这很好用。 问题是,我希望在单击建议时完成输入字段。 我使用以下代码:

$(".entry").live('click', function() {
    $("#" + $("#suggestionBox").data('input')).val(this.text);
    //and some more stuff
});

当输入字段获得焦点时,将设置suggestionBox的数据字段。

它在Chrome和FireFox中运行得非常好,但在IE中则不然。 上面代码中的this.text返回undefined。

我不知道为什么这不应该适用于IE。任何人都可以帮助我吗?

感谢。

2 个答案:

答案 0 :(得分:9)

为什么不使用jQuery?

$(this).text()

An a element has no text property in IE

答案 1 :(得分:2)

您需要使用jQuery的text()函数,而不是属性,因为底层DOM属性是特定于浏览器的:

$("#" + $("#suggestionBox").data('input')).val($(this).text());