-1
<!DOCTYPE html>
<html>
<head> <script language="javascript" type="text/javascript">  <pre> function whatImg(){
            var str = getUrlVars()["obj"];
            document.getElementByTagName('img').src = 'images/dog.png';
            }                                   
        function getUrlVars() {
            var vars = {};
            var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {vars[key] = value;});
            return vars;
        }<code>                             
    </script>

</head>

<body>

    <div data-role="page">
        <img src="images/keys.png" id="image"/>
        <script type="text/javascript"  language="javascript">  whatImg();</script>     
    </div>
</body>
</html>
4

3 回答 3

1

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>
于 2013-02-20T03:38:33.667 回答
1

因为没有getElementByTagName. 你忘了一个s: .getElementsByTagName

它还返回 a NodeList,这意味着您必须这样做:

var ele = document.getElementsByTagName('img');
ele[0].src = 'images/dog.png';

有时使用以下方法获取元素可能会更好id

var ele = document.getElementById('image');
ele.src = 'images/dog.png';
于 2013-02-20T03:39:19.017 回答
0

这将返回一个HTMLCollection,因此您必须遍历它并为每个src属性分配该值。

于 2013-02-20T03:39:10.753 回答