Nic*_*ick 1209 javascript jquery
如果元素是由.append()
方法创建的,如何检查元素是否存在?
$('elemId').length
不适合我.
Sar*_*raz 1679
$('elemId').length
不适合我.
你需要#
在元素id之前放置:
$('#elemId').length
---^
Run Code Online (Sandbox Code Playgroud)
使用vanilla JavaScript,你不需要hash(#
)document.getElementById('id_here')
,但是当使用jQuery时,你需要将hash放到基于id
CSS的目标元素上.
小智 355
尝试检查选择器的长度,如果它返回一些东西,那么元素必须存在,否则不存在.
if( $('#selector').length ) // use this if you are using id to check
{
// it exists
}
if( $('.selector').length ) // use this if you are using class to check
{
// it exists
}
Run Code Online (Sandbox Code Playgroud)
Gau*_*123 130
试试这个:
if ($("#mydiv").length > 0){
// do something here
}
Run Code Online (Sandbox Code Playgroud)
如果element不存在,则length属性将返回零.
lfe*_*445 62
如何检查元素是否存在
if ($("#mydiv").length){ }
Run Code Online (Sandbox Code Playgroud)
如果是0
,它将评估false
,除此之外的任何东西true
.
不需要大于,小于比较.
Meh*_*ami 27
你elemId
顾名思义,是一种Id
属性,这些都是可以做,以检查它是否存在:
Vanilla JavaScript:如果您有更高级的选择器:
//you can use it for more advanced selectors
if(document.querySelectorAll("#elemId").length){}
if(document.querySelector("#elemId")){}
//you can use it if your selector has only an Id attribute
if(document.getElementById("elemId")){}
Run Code Online (Sandbox Code Playgroud)
jQuery的:
if(jQuery("#elemId").length){}
Run Code Online (Sandbox Code Playgroud)
loo*_*ode 13
您还可以使用类似数组的表示法并检查第一个元素.空数组或集合的第一个元素很简单undefined
,因此您可以获得"正常"的javascript truthy/falsy行为:
var el = $('body')[0];
if (el) {
console.log('element found', el);
}
if (!el) {
console.log('no element found');
}
Run Code Online (Sandbox Code Playgroud)
Web*_*tik 10
您可以使用本机JS来测试对象的存在:
if (document.getElementById('elemId') instanceof Object){
// do something here
}
Run Code Online (Sandbox Code Playgroud)
不要忘记,jQuery只不过是一个复杂的(非常有用的)本机Javascript命令和属性的包装器