javascript - Javascript - 在图像数组中,如何获取特定的按钮id

感谢你的帮助。

 

var images = document.getElementById('con').getElementsByTagName('img');


var myImg = [];


for (var i = 0; i <images.length; i++) {


 if (images[i].src == "srcA" )


 myImg.push(images[i]);


 alert(images[i].parent.id);


}
 

<div id= "con"> 


 <button id= "ba"> <img id= "sa" src= "srcA"> </button>


 <button id= "bb"> <img id= "sb" src= "srcB"> </button>


 <button id= "bc"> <img id= "sc" src= "srcC"> </button>


 <button id= "bd"> <img id= "sd" src= "srcD"> </button>


 <button id= "be"> <img id= "se" src= "srcE"> </button>


 <button id= "bf"> <img id= "sf" src= "srcF"> </button>


</div>

我得到一个错误images[i].parent未定义,

请不要使用jQuery。

时间:

我很确定你可以用:

 

var imgSRCAParent = document.querySelector(" img[src='srcA']" ).parentElement;



我检查过了。

希望有帮助!

 

function findParent (source) {


 return document.querySelector(" #con button img[src= "+source+" ]" ).parentElement.id;


}



这样使用:

 

findParent(" srcA" );//its return" ba" 



你假设在Javascript中的src值与在HTML中放入src属性的字符串是相同的,Javascript已经把它扩展到一个完全可识别的URL,它完成了协议和域,你必须分离src,以便只能抓取在那里放置的最后一部分,然后根据您的目标路径进行评估。

这是一个简单的console.log()调试的好地方。

 

var images = document.getElementById('con').getElementsByTagName('img');


var myImg = [];


for(var i = 0; i <images.length; i++){


 const path = images[i].src.split('/');


 const lastStop = path[path.length - 1];


 if(lastStop == "srcA" ) {


 myImg.push(images[i]);


 alert(images[i].parentNode.id);


 }


}
 

<div id= "con"> 


<button id= "ba"> <img id= "sa" src= "srcA"> </button>


<button id= "bb"> <img id= "sb" src= "srcB"> </button>


<button id= "bc"> <img id= "sc" src= "srcC"> </button>


<button id= "bd"> <img id= "sd" src= "srcD"> </button>


<button id= "be"> <img id= "se" src= "srcE"> </button>


<button id= "bf"> <img id= "sf" src= "srcF"> </button>


</div>
...