检查元素是否存在于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 }