Javascript getElementByTagName()不';行不通 函数whatImg(){ var str=getUrlVars()[“obj”]; document.getElementByTagName('img').src='images/dog.png'; } 函数getUrlVars(){ var vars={}; var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,函数(m,键,值){vars[key]=value;}); 返回变量; } whatImg();
它是Javascript getElementByTagName()不';行不通 函数whatImg(){ var str=getUrlVars()[“obj”]; document.getElementByTagName('img').src='images/dog.png'; } 函数getUrlVars(){ var vars={}; var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,函数(m,键,值){vars[key]=value;}); 返回变量; } whatImg();,javascript,html,getelementbyid,Javascript,Html,Getelementbyid,它是getElementsByTagName不是getElementByTagName 并改用document.getElementByTagName('img')[0].src 您最好在html代码下面编写js代码: <!DOCTYPE html> <html> <head></head> <body> <div data-role="page"> <img s
getElementsByTagName
不是getElementByTagName
并改用document.getElementByTagName('img')[0].src
您最好在html代码下面编写js代码:
<!DOCTYPE html>
<html>
<head></head>
<body>
<div data-role="page">
<img src="images/keys.png" id="image" />
</div>
<script>
function whatImg() {
var str = getUrlVars()["obj"];
document.getElementsByTagName('img')[0].src = 'images/dog.png';
}
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
vars[key] = value;
});
return vars;
}
whatImg();
</script>
</body>
</html>
函数whatImg(){
var str=getUrlVars()[“obj”];
document.getElementsByTagName('img')[0].src='images/dog.png';
}
函数getUrlVars(){
var vars={};
var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,函数(m,键,值){
变量[键]=值;
});
返回变量;
}
whatImg();
返回一个HTMLCollection
,因此您必须在其上循环并为每个src
属性分配该值。因为不存在getElementByTagName
这样的东西。您忘记了一个s
:
它还返回一个,这意味着您必须执行以下操作:
var ele = document.getElementsByTagName('img');
ele[0].src = 'images/dog.png';
有时最好使用id
获取元素:
var ele = document.getElementById('image');
ele.src = 'images/dog.png';
你是对的,但仍然不起作用:(你的例子中也漏掉了
s
。。从示例代码来看,我认为OP最好使用文档。getElementById
@Blender-我确信在我的例子中有一个s
。@Derek:是的,现在有了。语言
属性在HTML5中已经过时了。谢谢它起作用了!!!!你真是太棒了你解释是因为我是新手吗?:/@user2089586注意“s”在getElementsByTagName
中,这意味着可能返回了多个元素,因此即使只返回了一个元素,也会得到一个列表。因此,您需要使用for
或while
循环遍历该列表,并将每个元素的src
属性设置为'images/dog.pn'g'@user2089586 ECMAScript说它应该是一个节点列表
,就像德里克说的,但只有现代的WebKit浏览器才真正返回节点列表。Firefox称之为HTMLCollection
var ele = document.getElementById('image');
ele.src = 'images/dog.png';