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';