如果元素是通过.append()方法创建的,如何检查该元素是否存在?$('elemId').长度不适合我。
当前回答
试试看:
if ($("#mydiv").length > 0){
// do something here
}
如果元素不存在,length属性将返回零。
其他回答
如果元素上有类,则可以尝试以下操作:
if( $('.exists_content').hasClass('exists_content') ){
//element available
}
试试看:
if ($("#mydiv").length > 0){
// do something here
}
如果元素不存在,length属性将返回零。
您可以使用本机JS测试对象的存在:
if (document.getElementById('elemId') instanceof Object){
// do something here
}
别忘了,jQuery只不过是围绕本地Javascript命令和财产的复杂(而且非常有用)包装器
$('elemId').length不适用于我
您需要将#放在元素id之前:
$('#elemId').length
---^
对于普通JavaScript,您不需要散列(#),例如document.getElementById('id_here'),但是在使用jQuery时,您确实需要像CSS一样基于id将散列放入目标元素。
您还可以使用类似数组的表示法并检查第一个元素。空数组或集合的第一个元素是未定义的,因此可以得到“正常”的javascript truthy/falsy行为:
var el = $('body')[0];
if (el) {
console.log('element found', el);
}
if (!el) {
console.log('no element found');
}