queryselector怎么用(再谈querySelector和querySelectorAll的区别与联系)

:暂无数据 2026-10-11 10:20:11 :2

queryselector怎么用(再谈querySelector和querySelectorAll的区别与联系)

今天给各位分享再谈querySelector和querySelectorAll的区别与联系的知识,其中也会对再谈querySelector和querySelectorAll的区别与联系进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

再谈querySelector和querySelectorAll的区别与联系

先按W3C的规范来说这两个方法应该返回的内容吧:
querySelector:
return the first matching Element
node within the node’s subtrees. If there is no such node, the method must
return null.(返回指定元素节点的子树中匹配selector的集合中的第一个,如果没有匹配,返回null)
querySelectorAll:
return a NodeList containing
all of the matching Element nodes within the node’s subtrees, in document order.
If there are no such nodes, the method must return an empty NodeList.
(返回指定元素节点的子树中匹配selector的节点集合,采用的是深度优先预查找;如果没有匹配的,这个方法返回空集合)
使用方法:
复制代码
代码如下:
var element =
baseElement.querySelector(selectors);
var elementList =
baseElement.querySelectorAll(selectors);
这在BaseElement
为document的时候,没有什么问题,各浏览器的实现基本一致;但是,当BaseElement 为一个普通的dom Node的时候(支持这两个方法的dom
Node),浏览器的实现就有点奇怪了,举个例子:
复制代码
代码如下:
《div class="test" id="testId"》
《p》《span》Test《/span》《/p》
《/div》
《script type="text/javascript"》
var testElement=
document.getElementById(’testId’);
var element =
testElement.querySelector(’.test span’);
var elementList =
document.querySelectorAll(’.test span’);
console.log(element); //
《span》Test《/span》
console.log(elementList); // 1
《/script》
按照W3C的来理解,这个例子应该返回:element:null;elementList:;因为作为baseElement的
testElement里面根本没有符合selectors的匹配子节点;但浏览器却好像无视了baseElement,只在乎selectors,也就是说此时baseElement近乎document;这和我们的预期结果不合,也许随着浏览器的不断升级,这个问题会得到统一口径!
人的智慧总是无穷的,Andrew
Dupont发明了一种方法暂时修正了这个怪问题,就是在selectors前面指定baseElement的id,限制匹配的范围;这个方法被广泛的应用在各大流行框架中;
Jquery的实现:
复制代码
代码如下:
var oldContext = context,
old =
context.getAttribute( "id" ),《BR》 nid = old || id,
try {
if (
!relativeHierarchySelector || hasParent ) {
return makeArray(
context.querySelectorAll( " " + query ), extra );
}
}
catch(pseudoError) {} 《BR》finally {
if ( !old )
{oldContext.removeAttribute( "id" );}
}
先不看这点代码中其他的地方,只看他如何实现这个方法的;这点代码是JQuery1.6的片段;当baseElement没有ID的时候,给他设置一个id
= "__sizzle__”,然后再使用的时候加在selectors的前面,做到范围限制;context.querySelectorAll( "[id=’" +
nid + "’] " + query
;最后,因为这个ID本身不是baseElement应该有的,所以,还需要移除:oldContext.removeAttribute( "id" );

Javascript里面的querySelector选择的内容是什么

选择的是CSS选择器,例如id就是“#”,class就是“.”

document.querySelector(’p’);
//获取所有的p元素
document.querySelector(’#p’);
//获取id=p
document.querySelector(’.p’);
//获取class=p
document.querySelector(’’);
//获取p=p
document.querySelector(’p》p’);
//获取p元素的子p元素

jquery怎么表达document.queryselector

$("xxx") ===   document.queryselector("xxx");

document.querySelector这个是什么函数

getElementsByClassName()是HTML5新增的DOMAPI。IE8以下不支持。对于现代浏览器开发,还可以使用querySelector()和querySelectorAll()。他们的功能更加强大。=======================附注=========================解释:getElementsByClassName()是HTML5的DOMAPI。举个栗子:document.getElementsByClassName("wrapper");//取得DOM中所有class="wrapper"的元素解释:querySelector()和querySelectorAll()是新标准的SelectorsAPI(选择符API)。IE8+、FF3.5+、Safari3.1+、Chrome、Opera10+支持querySelector()接受一个css选择器作为参数,然后返回DOM中匹配的第一个元素querySelectorAll()接受一个css选择器作为参数,然后返回DOM中匹配的元素的集合数组举个栗子:document.querySelector("#wrapper")//取得DOM中第一个id=“wrapper”的元素举个栗子:document.querySelector(".wrapper")//取得DOM中第一个class=“wrapper”的元素举个栗子:document.querySelector("p")//取得DOM中第一个元素举个栗子:document.querySelectorAll("p")//取得DOM中所有的元素类比于querySelector()P.S.原生的方法,便是getElementById()和getElementsByTagName()。这两个不会有兼容问题以上内容请参考《Javascript高级程序设计(第三版)》

JavaScript里的document.querySelectorAll()是什么意思

  querySelectorAll()的作用是:按文档顺序返回指定元素节点的子树中匹配选择器的元素集合,如果没有匹配返回空集合。
相关延伸:
  在传统的 JavaScript 开发中,查找 DOM 往往是开发人员遇到的第一个头疼的问题,原生的 JavaScript 所提供的 DOM 选择方法并不多,仅仅局限于通过 tag, name, id 等方式来查找,这显然是远远不够的,如果想要进行更为精确的选择不得不使用看起来非常繁琐的正则表达式,或者使用某个库。
  事实上,现在所有的浏览器厂商都提供了 querySelector 和 querySelectorAll 这两个方法的支持,甚至就连微软也派出了 IE 8 作为支持这一特性的代表,querySelector 和 querySelectorAll 作为查找 DOM 的又一途径,极大地方便了开发者,使用它们,你可以像使用 CSS 选择器一样快速地查找到你需要的节点。
用法:
document.querySelectorAll("#test");
document.querySelectorAll("div.test》p:first-child");
document.querySelectorAll( ’.test span’ );
浏览器兼容性:
  虽然有些问题,但瑕不掩瑜,这么好用的两个方法咋没火呢?浏览器兼容性。。。其实比起一些HTML5和CSS3的特性来说这两个方法还没那么让人绝望,因为IE8都已经支持了,其它各个主力主流浏览器自然是实现了。
IE8+
Firefox
Chrome
Safari
Opera
Android
所以如果你是针对Mobile web优化,不要引用jQuery了,直接使用这两个方法就可以。

queryselector怎么用

var el = document.getElementsByClassName("aaa");
等同于
var el = document.querySelector(".aaa");
获取一列元素的第一个

使用querySelector添加移除style和class

使用这个方法可以对dom节点添加和移除style样式,其中的styleName可以为css样式的任何值,如:display、color

对dom节点添加一个class

对dom节点移除一个class

关于queryselector怎么用和再谈querySelector和querySelectorAll的区别与联系的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

queryselector怎么用(再谈querySelector和querySelectorAll的区别与联系)

本文编辑:admin

更多文章:


matlab免费的网址(找matlab高手)

matlab免费的网址(找matlab高手)

今天给各位分享找matlab高手的知识,其中也会对找matlab高手进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月22日 17:20

nation和national的区别(为什么nation和national两者的a发音不一样)

nation和national的区别(为什么nation和national两者的a发音不一样)

大家好,今天小编来为大家解答以下的问题,关于nation和national的区别,为什么nation和national两者的a发音不一样这个很多人还不知道,现在让我们一起来看看吧!

2026年10月22日 16:40

达梦 insert into select(oracle中insert语句怎么嵌入select)

达梦 insert into select(oracle中insert语句怎么嵌入select)

大家好,今天小编来为大家解答以下的问题,关于达梦 insert into select,oracle中insert语句怎么嵌入select这个很多人还不知道,现在让我们一起来看看吧!

2026年10月22日 15:20

1bar等于多少mpa(mpa与bar的换算公式)

1bar等于多少mpa(mpa与bar的换算公式)

“1bar等于多少mpa”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看1bar等于多少mpa(mpa与bar的换算公式)!

2026年10月22日 12:50

多线程模式怎么没了(如何开启CPU 多线程模式)

多线程模式怎么没了(如何开启CPU 多线程模式)

其实多线程模式怎么没了的问题并不复杂,但是又很多的朋友都不太了解如何开启CPU 多线程模式,因此呢,今天小编就来为大家分享多线程模式怎么没了的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月22日 12:40

数字华容道游戏(数字华容道解法)

数字华容道游戏(数字华容道解法)

其实数字华容道游戏的问题并不复杂,但是又很多的朋友都不太了解数字华容道解法,因此呢,今天小编就来为大家分享数字华容道游戏的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月22日 11:10

lineheight和height一致(为什么设置height 和 line height的高度一样时,文字不垂直居中当把line-height去掉后,却居中了呢)

lineheight和height一致(为什么设置height 和 line height的高度一样时,文字不垂直居中当把line-height去掉后,却居中了呢)

本篇文章给大家谈谈lineheight和height一致,以及为什么设置height 和 line height的高度一样时,文字不垂直居中当把line-height去掉后,却居中了呢对应的知识点,文章可能有点长,但是希望大家可以阅读完,增

2026年10月22日 06:20

struts作用(请简单谈一下spring,struts,hibernate的作用;)

struts作用(请简单谈一下spring,struts,hibernate的作用;)

各位老铁们,大家好,今天由我来为大家分享struts作用,以及请简单谈一下spring,struts,hibernate的作用;的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了

2026年10月22日 05:20

low power是什么意思(MP3打开以后提示Low power!是什么意思啊)

low power是什么意思(MP3打开以后提示Low power!是什么意思啊)

各位老铁们,大家好,今天由我来为大家分享low power是什么意思,以及MP3打开以后提示Low power!是什么意思啊的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,

2026年10月22日 03:50

律师资格证报考条件非法律专业(不是法学专业的可以考律师证吗)

律师资格证报考条件非法律专业(不是法学专业的可以考律师证吗)

各位老铁们,大家好,今天由我来为大家分享律师资格证报考条件非法律专业,以及不是法学专业的可以考律师证吗的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月22日 02:40

最近更新

seo迷茫:新站SEO如何快速提升排名
2026-10-22 18:06:22 浏览:0
移动端seo页面优化如何提升用户体验
2026-10-22 18:05:24 浏览:0
提升新站排名的H2 SEO技巧分享
2026-10-22 18:04:24 浏览:0
热门文章

wait for you杨和苏(大家听下(wait for you)这首英文歌的开头那段音乐)
2026-06-13 16:20:04 浏览:26
刷关键字排名怎么操作最有效?
2026-09-14 20:02:13 浏览:20
标签列表