通常在JavaScript中我会执行类似下面的操作来验证元素是否存在:
if (document.getElementById('lblUpdateStatus')) {
    $("#lblUpdateStatus").text("");
}
但是,使用jQuery - 我怎么能做同样的事情?
Dan*_*n F 30
$ 返回一个匹配元素的数组,所以检查length属性,你就可以了
if ($('#lblUpdateStatus').length) {
    $("#lblUpdateStatus").text("");
}
Ton*_* L. 17
get方法返回匹配的DOM元素:
if($("#lblUpdateStatus").get(0)){
    $("#lblUpdateStatus").click(function () { ... });
}
但我不确定它是否是一种快速的方法.
ban*_*ang 16
问题是如果元素存在,jQuery将只执行请求的操作:-),所以你只需要:
$("#lblUpdateStatus").text("");
Tom*_*han 11
我认为没有理由仅仅为了它而使用jQuery.在$('#lblUpdateStatus')将基本直奔document.getElementById('lblUpdateStatus'),为选择中有一个锚,所以你没有真正得到什么.此外,仅仅检查DOM对象是否存在,将其包装在jQuery对象中会产生相当多的开销.
另一方面,如果只是更改对象的text属性是你想要做的,那么如果使用jQuery,则不需要检查它是否存在.
if (document.getElementById('lblUpdateStatus')) {
    $("#lblUpdateStatus").text("");
}
将做与刚刚完全相同的事情
$("#lblUpdateStatus").text("");
从jQuery 1.4开始,您可以使用$.contains().
var test = $("<div>");
$.contains(window.document, test[0]);  // false
$("body").append(test);
$.contains(window.document, test[0]);  // true
| 归档时间: | 
 | 
| 查看次数: | 42274 次 | 
| 最近记录: |