我目前正在尝试使用一些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。任何人都可以帮助我吗?
感谢。
答案 0 :(得分:9)
答案 1 :(得分:2)
您需要使用jQuery的text()
函数,而不是属性,因为底层DOM属性是特定于浏览器的:
$("#" + $("#suggestionBox").data('input')).val($(this).text());