如何使用javascript更改html中的属性

新手上路,请多包涵

这是我的代码,那么如何更改宽度属性呢?

 <html>
<head>
<script type="text/javascript">
 document.getElementById("cpul").src="hello.jpg";
</script>
</head>
<body>

<img src="hi.jpg" width="100" height="100" id="cpul">

</body>
</html>

以上是失败的,图像根本没有变化!!

但是为什么当我使用这段代码(从其他站点复制)时,图像发生了变化

<html>
<head>
<title>JS DD Function</title>
<script type="text/javascript">
    function jsDropDown(imgid,folder,newimg)
 {
 document.getElementById(imgid).src="http://www.cookwithbetty.com/" + folder + "/" + newimg + ".gif";
 }
</script>
</head>
<body>
<table>
  <tr>
    <td>
Foods: <select name="food" onChange="jsDropDown('cful','images',this.value)">
       <option value="steak_icon">Steak</option>
    <option value="salad_icon">Salad</option>
    <option value="bread_icon">Bread</option>
    </select><br />
     </td>
  <td>
         <img src="http://www.cookwithbetty.com/images/steak_icon.gif" id="cful">

</body>
</html>

原文由 dramasea 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 245
2 个回答

您的代码不工作的最可能原因是它在元素存在于 DOM 之前执行。您应该将代码设置为在窗口 load 事件上运行,或将其放在文档末尾以确保在尝试访问该元素之前该元素存在。

 <html>
<head>
   <title>Foo</title>
</head>
<body>

<img src="hi.jpg" width="100" height="100" id="cpul">
<script type="text/javascript">
   document.getElementById("cpul").src="hello.jpg";
</script>
</body>
</html>

原文由 tvanfosson 发布,翻译遵循 CC BY-SA 2.5 许可协议

放入窗口的 onload 事件,因此代码不会在图像 html 代码加载之前执行。并使用 width 属性设置宽度。

 <html>
  <head>
    <title>Change my image width</title>
    <script type="text/javascript">
      window.onload = function() {
        var myImage = document.getElementById("cpul");
        myImage.src = "hello.jpg";

        // change width
        myImage.width = 200;
      };
    </script>
  </head>
  <body>
    <img src="hi.jpg" width="100" height="100" id="cpul">
  </body>
</html>

原文由 Mads Mogenshøj 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题