简体   繁体   English

如何使用javascript捕获锚标记中的img标签的src?

[英]How to grab the src of img tag that is within an anchor tag with javascript?

The Html Code is as follows, I have more of these tags hence the class: HTML代码如下,我有更多的这些标签,因此该类:

<a class = "openmodal">
   <img class="case" src="aqua.jpg>
   <h4>Aqua</h4>        
</a>

The javascript is as follows,basically i want to grab the img tag so that i can get its src: javascript如下,基本上我想获取img标签,以便我可以获取其src:

var btns = document.getElementsByClassName("openmodal");
for(let i=0;i<btns.length;i++){
    var x = btns[i].firstChild;
    console.log(x);
   btns[i].onclick = function() {
      modal.style.display = "block";
   }
}

Use querySelectorAll 使用querySelectorAll

  // will give all anchor tag with this class var btns = document.querySelectorAll(".openmodal"); // iterating this collection for (let i = 0; i < btns.length; i++) { // inside this element it is querying for img tag & adding event listener to it btns[i].querySelector('img').addEventListener('click', function() { // get the src attribute from it var m = this.getAttribute('src'); console.log(m) }) } 
 <a class="openmodal"> <img class="case" src="aqua.jpg" alt="img"> <h4>Aqua</h4> </a> <a class="openmodal"> <img class="case2" src="aqua2.jpg" alt="img"> <h4>Aqua2</h4> </a> 

try document.getElementsByTagName("img") to get images only 尝试document.getElementsByTagName("img")仅获取图像

HTML 的HTML

<a class = "openmodal">
   <img class="case" src="aqua.jpg" />
   <h4>Aqua</h4>        
</a>
<img class="case" src="aqua1.jpg" />

JS JS

var imgclasses =  document.getElementsByClassName('openmodal');
for (var imgclass of imgclasses) {
  var imgs = imgclass.getElementsByTagName("img");
  for(let i=0;i<imgs.length;i++){
      var x = imgs[i];
      console.log(x.src);
      imgs[i].onclick = function() {
        modal.style.display = "block";
      }
  }
};

codepen: https://codepen.io/YasirKamdar/pen/zRWqyg codepen: https ://codepen.io/YasirKamdar/pen/zRWqyg

Much faster and better approach. 更快,更好的方法。

 var btns = document.getElementsByClassName("openmodal"); var len = btns.length; while(len--){ var btn = btns[len]; btn.children[0].onclick = function() { console.log(this.src); }; } 
 <a class = "openmodal"> <img class="case" src="aqua.jpg"> <h4>Aqua</h4> </a> <a class = "openmodal"> <img class="case" src="aqua2.jpg"> <h4>Aqua</h4> </a> 

You could try in this way to get src attribute of an img . 你可以尝试以这种方式来获得src的属性img

 var ele = document.getElementsByClassName('openmodal'); if(ele.length > 0){ for (i = 0; i < ele.length; i++) { for(j = 0; j < ele[i].children.length; j++){ if(ele[i].children[j].hasAttribute('src')){ console.log(ele[i].children[j].getAttribute('src')); } } } } 
 <a class="openmodal"> <img class="case" src="aqua.jpg"> <h4>Aqua</h4> </a> 

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

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