检查元素是否存在于jQuery中

如果元素是由.append()方法创build的,如何检查元素是否存在? $('elemId').length不适用于我。

$('elemId').length不适用于我。

你需要在元素id之前加#

 $('#elemId').length ---^ 

用香草JavaScript,你不需要散列( # ),例如document.getElementById('id_here') ,但是当使用jQuery时,你需要像CSS一样把hash放到基于id目标元素上。

试着检查select器的长度,如果它返回你的东西那么元素必须存在,否则不。

  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 } 

尝试这个:

 if ($("#mydiv").length > 0){ // do something here } 

如果元素不存在,length属性将返回零。

我如何检查一个元素是否存在

 if ($("#mydiv").length){ } 

如果它是0 ,那么它将被评估为false ,而不是true

没有必要大于,小于比较。

你的elemId顾名思义就是一个Id属性,这些都是你可以做的检查它是否存在:

香草JavaScript:如果你有更高级的select器:

 //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")){} 

jQuery的:

 if(jQuery("#elemId").length){} 

您也可以使用类似数组的表示法并检查第一个元素。 空的数组或集合的第一个元素是简单的undefined ,所以你得到了“正常”的JavaScript真/假的行为:

 var el = $('body')[0]; if (el) { console.log('element found', el); } if (!el) { console.log('no element found'); } 

您可以使用本地JS来testing对象的存在:

 if (document.getElementById('elemId') instanceof Object){ // do something here } 

不要忘了,jQuery只不过是一个复杂的(也是非常有用的)围绕本地JavaScript命令和属性的包装

如果你的元素有一个类,那么你可以尝试下面的方法:

 if( $('.exists_content').hasClass('exists_content') ){ //element available }