我知道这听起来可能很简单,但不知怎么的,我无法理解下面的代码背后的逻辑。
<!DOCTYPE html>
<html lang="en">
<head>
<script src="./js/jquery-1.7.2.min.js"></script>
</head>
<body>
<script>
alert("Dom Length:"+$('*').length);
var a = "hi";
alert($.type(a));
</script>
</body>
</html>我得到的输出是Dom长度:5,但我不知道如何填充长度。
UPDATE1:
我以为它会选择DOM中的所有元素,计数是误导我的。此外,如果我在体内添加<p> hi </p>,它仍然显示长度为5,是正确的还是应该是6呢?
发布于 2014-05-26 11:41:53
$('*')使用全选择器,页面中有5个元素:
我建议您在控制台中运行这个程序:
$('*').get().map(function(e){ return e.tagName })为您的第二个问题编辑:
在正文中添加hi不会添加元素,而是添加文本节点,这就是计数不变的原因。读更多关于节点和元素的信息。
编辑您的评论:
请注意,脚本没有看到后面的元素。如果希望它看到整个DOM,请将其更改为
$(function(){
alert("Dom Length:"+$('*').length);
});发布于 2014-05-26 11:42:26
嗯,你有这些标签:
<html><head><body><script>所以1 + 1 + 1 + 2 = 5。
发布于 2014-05-26 11:43:48
'*'表示的并不全是jQuery,所以当我们说$('*')时,它意味着所有DOM元素。
https://stackoverflow.com/questions/23869257
复制相似问题