Javascript JS-document.getelementbysrc?
是否可以从“src”属性的值中获取元素?没有DOM方法按属性筛选元素。您需要检查特定标记的所有元素,并筛选出具有匹配的Javascript JS-document.getelementbysrc?,javascript,Javascript,是否可以从“src”属性的值中获取元素?没有DOM方法按属性筛选元素。您需要检查特定标记的所有元素,并筛选出具有匹配的src值的元素: function getElementsBySrc(srcValue) { var nodes = []; var e = document.getElementsByTagName('img'); for (var i = 0; i < e.length; i++) { if (e[i].hasAttribute('src') &a
src
值的元素:
function getElementsBySrc(srcValue) {
var nodes = [];
var e = document.getElementsByTagName('img');
for (var i = 0; i < e.length; i++) {
if (e[i].hasAttribute('src') && e[i].getAttribute('src') == srcValue) {
nodes.push(e[i]);
}
}
return nodes;
}
AFAIK(据我所知)没有本机方法从src属性的值中获取an元素。但是使用JavaScript库,您可以在一行代码中实现这一点
如果使用,可以让元素编写以下代码:
var elem = $('[src="path/to/something.xyz"]');
更多关于前一段代码的文档,请参阅。我在google上找到了一些代码:
function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
var oAttributeValue = (typeof strAttributeValue != "undefined")? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)", "i") : null;
var oCurrent;
var oAttribute;
for(var i=0; i<arrElements.length; i++){
oCurrent = arrElements[i];
oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
if(typeof oAttribute == "string" && oAttribute.length > 0){
if(typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))){
arrReturnElements.push(oCurrent);
}
}
}
return arrReturnElements;
}
函数getElementsByAttribute(oElm、strTagName、strAttributeName、strAttributeValue){
var arrElements=(strTagName=“*”&&oElm.all)?oElm.all:oElm.getElementsByTagName(strTagName);
var arrrurnelements=新数组();
var OAtTributteValue=(StratTributteValue的类型!=“未定义”)?新的RegExp((^ s)“+StratTributteValue+”(\\s |$)”,“i”):空;
眼压;
燕麦汁;
对于(var i=0;i是否可以更改它的值?(img src属性)@Diesal11:更新了我的答案。在这种情况下,我知道图像只会出现一次,所以这样做了,谢谢!我想你忘记了选择器中的通配符使用jQuery你可以做
var elem=$('[src]');
function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
var oAttributeValue = (typeof strAttributeValue != "undefined")? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)", "i") : null;
var oCurrent;
var oAttribute;
for(var i=0; i<arrElements.length; i++){
oCurrent = arrElements[i];
oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
if(typeof oAttribute == "string" && oAttribute.length > 0){
if(typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))){
arrReturnElements.push(oCurrent);
}
}
}
return arrReturnElements;
}