queryselectorall(oracle数据库下载)
各位老铁们,大家好,今天由我来为大家分享queryselectorall,以及oracle数据库下载的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
javascript里的document.queryselectorall()是什么意思
document.querySelectorAll是JavaScript中的一个方法,用于选取DOM元素。以下是关于document.querySelectorAll的详细解释:
一、基本含义 document.querySelectorAll属于Document Object Model的一部分,用于在文档中查找匹配指定CSS选择器的所有元素。
二、方法的使用该方法接受一个CSS选择器作为参数。返回一个NodeList对象,该对象包含了文档中匹配该选择器的所有元素。例如,选择页面上所有的<p>标签元素,可以使用document.querySelectorAll。
三、方法的特性返回的NodeList是一个静态的集合。不过,它仍然是一个可读流的迭代器。可以使用for...of循环来遍历NodeList中的元素。
四、应用场景 document.querySelectorAll在Web开发中非常有用,特别是在需要操作页面上的多个元素时。可以用于获取表单中的所有输入框、处理特定类别的CSS样式、或者响应用户的交互等场景。由于其功能强大且灵活,该方法在前端开发中非常常见,但使用时需要注意优化和合理使用资源,以避免对页面性能产生负面影响。
queryselectorall是jquery的选择器吗
是的
1. W3C标准
querySelectorAll属于 W3C中的 Selectors API规范 [1]。而 getElementsBy系列则属于 W3C的 DOM规范 [2]。
2.浏览器兼容
querySelectorAll已被 IE 8+、FF 3.5+、Safari 3.1+、Chrome和 Opera 10+良好支持。
getElementsBy系列,以最迟添加到规范中的 getElementsByClassName为例,IE 9+、FF 3+、Safari 3.1+、Chrome和 Opera 9+都已经支持该方法了。
3.接收参数
querySelectorAll方法接收的参数是一个 CSS选择符。而 getElementsBy系列接收的参数只能是单一的className、tagName和 name。代码如下 [3]:
var c1= document.querySelectorAll('.b1.c');
var c2= document.getElementsByClassName('c');
var c3= document.getElementsByClassName('b2')[0].getElementsByClassName('c');
需要注意的是,querySelectorAll所接收的参数是必须严格符合 CSS选择符规范的。所以下面这种写法,将会抛出异常。代码如下 [4]:
try{
var e1= document.getElementsByClassName('1a2b3c');
var e2= document.querySelectorAll('.1a2b3c');
} catch(e){
console.error(e.message);
}
console.log(e1&& e1[0].className);
console.log(e2&& e2[0].className);
(CSS选择器中的元素名,类和 ID均不能以数字为开头。)
4.返回值
大部分人都知道,querySelectorAll返回的是一个 Static Node List,而 getElementsBy系列的返回的是一个 Live Node List。
如何循环遍历document.querySelectorAll方法返回的结果
使用JavaScript的forEach方法,我们可以轻松的循环一个数组,但如果你认为document.querySelectorAll()方法返回的应该是个数组,而使用forEach循环它:
/* Will Not Work*/
document.querySelectorAll('.module').forEach(function(){
});
执行上面的代码,你将会得到执行错误的异常信息。这是因为,document.querySelectorAll()返回的不是一个数组,而是一个NodeList。
对于一个NodeList,我们可以用下面的技巧来循环遍历它:
var divs= document.querySelectorAll('div');
[].forEach.call(divs, function(div){
// do whatever
div.style.color="red";
});
当然,我们也可以用最传统的方法遍历它:
var divs= document.querySelectorAll('div'), i;
for(i= 0; i< divs.length;++i){
divs[i].style.color="green";
}
还有一种更好的方法,就是自己写一个:
// forEach method, could be shipped as part of an Object Literal/Module
var forEach= function(array, callback, scope){
for(var i= 0; i< array.length; i++){
callback.call(scope, i, array[i]);// passes back stuff we need
}
};
//用法:
// optionally change the scope as final parameter too, like ECMA5
var myNodeList= document.querySelectorAll('li');
forEach(myNodeList, function(index, value){
console.log(index, value);// passes index+ value back!
});
还有一种语法:for..of循环,但似乎只有Firefox支持:
/* Be warned, this only works in Firefox*/
var divs= document.querySelectorAll('div);
for(var div of divs){
div.style.color="blue";
}
最后是一种不推荐的方法:给NodeList扩展一个forEach方法:
NodeList.prototype.forEach= Array.prototype.forEach;
var divs= document.querySelectorAll('div').forEach(function(el){
el.style.color="orange";
})
好了,文章到这里就结束啦,如果本次分享的queryselectorall和oracle数据库下载问题对您有所帮助,还望关注下本站哦!