简体   繁体   English

具有document.querySelectorAll的多个选择器

[英]multiple selectors with document.querySelectorAll

Hot to get multiple selectors values using document.querySelectorAll ? 热门使用document.querySelectorAll获得多个选择器值?

I need to get URL inside selectors. 我需要在选择器内获取URL。

<div class".myClass"><a href="link1.html"></a>
<div class".myClass"><a href="link2.html"></a>
<div class".myClass"><a href="link3.html"></a>

I'm trying to use the follow but it is not working: 我正在尝试使用以下方法,但无法正常工作:

var x = document.querySelectorAll(".myClass");

for(var i = 0; i < x.length; i++) {
    console.log (x[i].childNodes[1].href);
}

The syntax for assigning class or any atrribute to elements in Html is this: 在HTML中为元素分配类或任何属性的语法是:

<div class="myClass">

You don't need a . 您不需要. to assign a class name to an element but need it in case of accessing like you did above. 给元素分配一个类名,但是像上面那样访问时需要它。

You have a few issues in your HTML: 您的HTML中有一些问题:

  1. the class should be changed from: <div class".myClass"> to <div class="myClass"> 该类应从: <div class".myClass">更改为<div class="myClass">

  2. you forgot to close the <div> with </div> 你忘了关闭<div></div>

  3. if you use document.querySelectorAll() you can use forEach() to iterate over all the elements. 如果使用document.querySelectorAll() ,则可以使用forEach()遍历所有元素。

 var x = document.querySelectorAll(".myClass"); x.forEach(function(element, index){ console.log(index + ': -> ' + element.children[0].href); }); 
 <div class="myClass"><a href="link1.html"></a></div> <div class="myClass"><a href="link2.html"></a></div> <div class="myClass"><a href="link3.html"></a></div> 

if you don't want to use forEach() (you still need to change point 1 and 2) the code will look like so: 如果您不想使用forEach()(仍然需要更改第1点和第2点),则代码将如下所示:

 var x = document.querySelectorAll(".myClass"); for(var i=0; i < x.length; i++){ console.log(i + ': -> ' + x[i].children[0].href); } 
 <div class="myClass"><a href="link1.html"></a></div> <div class="myClass"><a href="link2.html"></a></div> <div class="myClass"><a href="link3.html"></a></div> 

Append string to url : 将字符串追加到url

 var x = document.querySelectorAll(".myClass"); for(var i=0; i < x.length; i++){ x[i].children[0].href = x[i].children[0].href + '&item1=yes'; console.log(i + ': -> ' + x[i].children[0].href); } 
 <div class="myClass"><a href="link1.html"></a></div> <div class="myClass"><a href="link2.html"></a></div> <div class="myClass"><a href="link3.html"></a></div> 

  1. Use class="someClass" syntax ( class="myClass" ). 使用class =“ someClass”语法( class="myClass" )。
  2. The childNodes index starts from 0. Use x[i].childNodes[0].href childNodes索引从0开始。使用x[i].childNodes[0].href
  3. The div elements don't have corresponding closing tags. div元素没有相应的结束标记。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM