4

我正在为摩托罗拉/IE 6 设备构建一个移动站点。

出于某种我想不出的原因,jQuery 的 .select() 函数正在工作,但直接在 javascript 中调用它却不行。

<input type="text" id="lid" value="" class="as_done">

jQuery 的工作方式是这样的:

$('#lid').select();

不工作的方式是这样的:

document.getElementById('lid').select();

这让我很困惑。关于为什么会这样的任何想法?

编辑:我不想在 jQuery 中做任何事情。我只是想选择输入框中的文本。我不应该需要 jQuery 来做到这一点,但标准的方式是行不通的。http://www.w3schools.com/jsref/met_text_select.asp

4

3 回答 3

2

有趣的变化使它对我有用。也许这是 windows mobile IE 6 中的一个错误?

考虑以下 html:

<input type="hidden" id="lid_as" name="lid" value="1">
<input type="text" id="lid" value="" class="as_done">

呼叫alert("document.getElementById('lid').name");导致消息lid。这让我觉得它正在抓取ID实际上是lid_as的第一个输入框。

当我将输入移到框lid_as下方时,该功能正常工作。lidselect

所以这个 HTML 使它工作:

<input type="text" id="lid" value="" class="as_done">
<input type="hidden" id="lid_as" name="lid" value="1">

同样,这个问题与 WINDOWS MOBILE IE 6 有关。

于 2012-04-20T18:57:31.940 回答
1

$() 函数返回一个 jquery 对象,而 document.getElementById 返回一个简单的 DOM 对象。

于 2012-04-20T18:42:46.060 回答
0

可能是因为您没有提前调用 .focus()

document.getElementById('lid').focus();
document.getElementById('lid').select();

这是包裹在 jQuerys .select()

于 2012-04-20T18:48:24.890 回答