时间:2014-01-29 来源:

javascript之querySelector和querySelectorAll使用介绍

一开始很多人都会拿jquery的选择器来跟这两个api做对比(我也是),比较异同本来没事,网页外包接活但却使一些同学对这两个api在浏览器中的实现产生了误解,网页切图价格特别是再dom element上调用此api时.
下面是我的jsFiddle示例,div+css制作
flush: function() {
this.logElem.innerHTML = this.logArr.join('');
}, len = items.length; i < len; i++) {
logger.append(items[i].innerHTML);
}
logger.flush();
})();

html代码:
复制代码 代码如下:

<div id="main">
<div id="inner">
<h4 class="inside">h4 inside 1</h4>
<h4 class="inside">h4 inside 2</h4>
<ul class="nodelist">
<li>list item one</li>
<li>list item two</li>
<li>list itme three</li>
</ul>
</div>
<div id="outter">
<h4 class="outside">h4 outside 1</h4>
<h4 class="outside">h4 outside 2</h4>
</div>
<div id="log"></div>

css代码:
复制代码 代码如下:

#log {
font-size: 10px;
}

误解就在于对$('inner').querySelectorAll('#main h4.inside')的实现理解web前端制作,这个#main有点碍眼.实际上它还是根据selector string从整个document上查找承接网页制作,再返回属于div[id='inner']的子节点.很多人会疑惑,div前端切图那么为什么不按照直接按父节点找子节点的方式来实现呢?就像elem.getElementsByTagName,我的想法是灵活selector string吧.
querySelector只返回匹配的第一个元素,web切图报价如果没有匹配项符合w3c标准,返回null.
querySelectorAll返回匹配的元素集合,符合w3c标准如果没有匹配项网页外包接活,返回空的nodelist(节点数组).
并且返回的结果是静态的,jpg或psd转html之后对document结构的改变不会影响到之前取到的结果.
目前IE8+,chrome都支持此api(IE8中的selector string只支持css2.1的).
点击次数:2682
作者:

其它web前端开发资讯

0016ubuntu下给firefox安装flash插件 【编程语言】2018年01月19日Google提供网站恶意软件侦测服务2018年01月19日php开发之变量(二) 【编程语言】2018年01月19日HDOJ5302ConnecttheGraph构造【系统运维】2018年01月19日关于sizeof的笔试面试题详解 【Web前端】2018年01月19日二叉树的递归遍历,非递归遍历 【编程语言】2018年01月19日一、类、对象、传值引用、$this关键字、静态属性和静态方法、self、构造方法、析构方法【编程语言】2018年01月19日transform使用详解【编程语言】2018年01月19日HTML高级标签之表单应用(二) 【移动开发】2018年01月19日【LeetCode】【Java】4Sum 【移动开发】2018年01月19日深入浅出设计模式------FactoryMethod(工厂方法) 【移动开发】2018年01月19日hdu3152ObstacleCourse【编程语言】2018年01月19日20150420阿里实习面试【编程语言】2018年01月19日Java高并发是不是你的菜??【移动开发】2018年01月19日算法导论学习之堆+堆排序+堆构成优先队列 【移动开发】2018年01月19日国家出台政策鼓励云计算商业发展2018年01月19日
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日Androidinit进程——解析配置文件 【架构设计】2015年04月24日UVALive-4253Archery暴力【编程语言】2015年05月05日LAN路由 【编程语言】2015年06月30日Java开源百科引擎,JAMWiki1.2发布 ,,2016年06月23日js剪切板的用法(clipboardData.setData)与jsmatch函数介绍2014年01月29日JAVA设计模式(13):行为型-责任链模式(Responsibility) 【数据库】2015年05月11日GukiZandBinaryOperations(矩阵+二进制) 【移动开发】2015年06月17日DecodeWays--leetcode 【移动开发】2015年04月28日搭建项目Maven+springMVC+hibernate时,JUnit测试出现报ClassNotFoundException错误的解决 【编程语言】2015年06月11日数据结构实验之求二叉树后序遍历和层次遍历 【编程语言】2015年08月14日JavaScript学习小结(适合新手参考)2014年01月29日博客搬家 【Web前端】2015年08月27日Js控制表单域代码2014年01月29日hdu5183-NegativeandPositive(NP)【移动开发】2015年03月16日hdu1536S-Nim(sg函数模版)【移动开发】2015年02月09日构造函数调用规则研究2015年06月12日hihoCoder-1122-二分图最大匹配之匈牙利算法 【编程语言】2015年07月13日APUE之dup,dup2函数重定向标准输出实例 【编程语言】2014年12月29日hdu1027IgnatiusandthePrincessII(STL全排列)【综合】2015年04月24日邮件客户端Thunderbird9.0正式版发布下载 ,,2016年07月24日Android输入密码时显示与隐藏 【Web前端】2015年01月09日修改oracle10grac监听端口号为1523的步骤【云计算】2015年04月09日4wgmugweq 【综合】2014年11月14日Java程序执行时间的2种简单方法2014年01月30日Win8恐重蹈Vista覆辙:Metro界面丑陋无用 ,,2016年06月23日10月份Chrome全球市场份额已达17.62% ,,2016年06月23日微信支付.NET版开发总结(JSAPI),好多坑,适当精简, 【研发管理】2015年08月07日设计模式—工厂方法【移动开发】2015年03月20日jQuery-Easyui1.2实现多层菜单效果的代码2014年01月29日OilDeposits【编程语言】2015年08月07日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)