与jquery和getElementById混淆

时间:2011-12-12 16:01:35

标签: javascript jquery html

仅显示第一个提醒。

我一次只尝试过一次,但是,只有在getElementById之前它才有效...

$('#t').keyup(function() {

alert('1');

var a = document.getElementById('t').value;

alert(a);

}

3 个答案:

答案 0 :(得分:5)

嗯,不,两个警报都显示在this live demo中。顺便说一下,如果你已经在你的应用程序中使用了jQuery,那么你就不再需要document.getElementById了。你应该使用jQuery的等价物,在这种情况下是.val()函数:

$('#t').keyup(function() {
    var value = $(this).val();
    alert(value);
});

啊,最后但并非最不重要的是,您是否注意到我的代码末尾的结束);在您的代码中丢失了?

当然,HTML文档中的ID应该是唯一的,这意味着在整个页面中只能包含带有id="t"一个元素,否则会得到无效的标记。

答案 1 :(得分:2)

您的代码中存在语法错误。也许它应该是:

$('#t').keyup(function() {

  alert('1');

  var a = document.getElementById('t').value;

  alert(a);

});

你也应该真的能够这样做:

$('#t').keyup(function() {

  alert('1');

  var a = $(this).val();

  alert(a);

});

答案 2 :(得分:2)

您的代码缺少结束);。您根本不应该收到任何警报。我会添加它,看看事情是否开始按预期运行。

如果您使用的是jQuery,我建议使用id选择器而不是getElementById。进行这两项更改会使您的代码看起来像这样:

$('#t').keyup(function() {

alert('1');

var a = $(this).val(); //document.getElementById('t').value;

alert(a);

});