js 的原生方法,用于获取元素的个数和对象的长度
var length = $(obj).length
.size():
size()属于 jQuery 方法,只能作用于对象上,获取元素的个数
var size = $(obj).size()
注:
1、使用 length 属性之前,请对对象做判空校验
2、如果想要获取字符串的长度只能用 length 属性,如
var length = $(obj).html().length
这要看你的js代码的执行时机。如果外部js的引用语句是放在<head></head>内的,那么当它运行时,<body></body>内的代码尚未加载到内存,就无法获取到dom元素,length属性值自然就是0了。而直接放在html内的js代码是放在所有标签后面的,它运行时页面的整个dom结构已经加载完毕,这样再获取dom元素就没问题了。
你可以把外部js的代码放到window对象的onload事件中,就ok了:
window.onload=function(){var navs = document.getElementsByClassName("block-item")
var navMemu = document.getElementsByClassName("nav-children")
console.log(navs.length,navMemu.length)
console.log(navs,navMemu)
}
这意思就是说,当window对象(及其下属所有子对象)都完全加载(load)到内存后,才开始执行指定的代码,这样就能保证程序正确运行了。