4

Motorola / 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入力をlidボックスの下に移動すると、select関数は正常に動作します。

したがって、この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 に答える