V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
rundis
V2EX  ›  问与答

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

  •  
  •   rundis · May 6, 2015 · 2174 views
    This topic created in 4009 days ago, the information mentioned may be changed or developed.

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

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

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

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

    https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName
    rundis
        5
    rundis  
    OP
       May 7, 2015 via iPhone
    @YuJianrong
    @yangg
    谢谢谢谢!之前不知道getelement返回的是array…然而直接对数组操作也没有报错Zzz
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3732 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 04:29 · PVG 12:29 · LAX 21:29 · JFK 00:29
    ♥ Do have faith in what you're doing.