V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rundis
V2EX  ›  问与答

新手求助, JavaScript 无法修改 html 元素的属性是怎么回事?

  •  
  •   rundis · 2015-05-06 19:25:03 +08:00 · 1799 次点击
    这是一个创建于 3491 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rt,检查了好久,也没能找到原因。。。
    这些代码的目的是先获得新的url值,然后替换掉原来的image元素的src属性为新的url值,通过这个来达到变更图片的目的。。。
    然而一直试都是没能改过来。。。
    按理来说:
    document.getElementsByClassName("classname").attribute = newValue;
    不是可以修改类名为"classname"的元素的属性么?
    求助,万分感谢!!!

    http://ww1.sinaimg.cn/large/005FchG6gw1erur5zihodj30ku0h0n1q.jpg

    一直发不出图。。。图放二楼了。。。

    rundis
        1
    rundis  
    OP
       2015-05-06 19:25:29 +08:00
    rundis
        2
    rundis  
    OP
       2015-05-06 19:31:52 +08:00
    另外分别在修改前和修改后审查了元素,发现src属性的值的确没有变化,不是反应问题。。。
    YuJianrong
        3
    YuJianrong  
       2015-05-06 20:28:34 +08:00 via iPhone
    getElements不是返回一个element而是返回一个array like object啊,注意人家函数名是复数。拿第一个改src就好了(如果存在的话),顺便chrome devtools可以单步到你的那句话到了看一下值不就好了……
    yangg
        4
    yangg  
       2015-05-06 20:30:16 +08:00
    getElementByClassName 返回nodeList, 取第一个就行了
    [0].src = 'xx';
    现在其实可以用 document.querySelector('.class')

    https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
    rundis
        5
    rundis  
    OP
       2015-05-07 10:58:31 +08:00 via iPhone
    @YuJianrong
    @yangg
    谢谢谢谢!之前不知道getelement返回的是array…然而直接对数组操作也没有报错Zzz
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3136 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:04 · PVG 22:04 · LAX 06:04 · JFK 09:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.